繼續上一篇的學習,現在我們將fishredux導包。
pubspec.yaml文件:
按照圖中圈出來的,進行依賴。Android studio 有一個快速生成fisuredux模版插件,不過可能不怎麼好用,在這裏還是稍微提一下。FishReduxTemplate
fishredux有page、component和adapter三類,其中page是繼承自component的,adapter是fishredux專門做出來的列表類組件。接下來我們用第一種page頁面,這也是我們常用的頁面。
新建page頁面
如上:splash(閃屏,第一頁),新建的page頁面有action、effect、page、reducer、state、view
這6個組件,不過page
更類似一個組裝器,沒有變動,接下來我們看看page裏面的內容。
page裏的內容
import 'package:fish_redux/fish_redux.dart';
import 'effect.dart';
import 'reducer.dart';
import 'state.dart';
import 'view.dart';
class SplashPage extends Page<SplashState, Map<String, dynamic>> {
SplashPage()
: super(
initState: initState,
effect: buildEffect(),
reducer: buildReducer(),
view: buildView,
dependencies: Dependencies<SplashState>(
adapter: null,
slots: <String, Dependent<SplashState>>{
}),
middleware: <Middleware<SplashState>>[
],);
}
基本上就是不動,以後如果要用到adapter需要在null那裏進行組裝,還有一些中間件需要在middleware中進行配置。
上面就是page裏的內容,記住,這個類基本上生成了也就這樣子了。
state頁面
這裏的state頁面就是點page裏中的initState
中進來的,當然數據源就是從這裏過來的,可以初始化數據,及其他的類似刷新類的contronler等等。
import 'package:fish_redux/fish_redux.dart';
class SplashState implements Cloneable<SplashState> {
@override
SplashState clone() {
return SplashState();
}
}
SplashState initState(Map<String, dynamic> args) {
return SplashState();
}
如下圖,這裏我給看一個有填寫內容的state文件。
這裏暫時就是這樣用。上面說的page
可以不用怎麼記,state
還是要記住的,因爲這個我們是經常用,而且用的也很多,你只要記住state
是狀態,數據的意思就行了,數據的初始化,controler什麼的都是在這裏進行操作的。
接下來我們將講解page
中的剩下四個組件。Fish Redux系列學習之初探