0
私は現在、自分自身にリアクションを熟知しています。私は状態管理のためにmobx-state-treeを選んだ。React-Nativeでrender()メソッドを呼び出さない型を設定することはできますか? mobx状態ツリー
私はAndroidプロジェクトでMVPパターンを使用していたので、mobx-state-treeにも同じ原則を適用します。
私は現在どのように実装されていますか。
ただし、このモデルではScreenView実装を定義したいと思います。
render()イベントをトリガーしないモデルタイプを定義する方法はありますか?
私の希望する結果:
const AuthScreenModel = types
.model('AuthStore', {
screen: types.enumeration('Screen', ['auth', 'verification', 'name']),
screenView: types.norefresh(ScreenViewInterface),
phoneModel: types.optional(PhoneModel, {})
})
私の現在の回避策:このmethod'sのを使用して
const AuthScreenModel = types
.model('AuthStore', {
screen: types.enumeration('Screen', ['auth', 'verification', 'name']),
phoneModel: types.optional(PhoneModel, {})
})
.views((self: any) => {
self.screenView = null
return {
getScreenIndex(): number {
if (self.screen === 'verification')
return 1
if (self.screen === 'name')
return 2
return 0
}
}
})
.actions((self: any) => {
return {
setScreen(screen: string) {
self.screen = screen
},
setScreenIndex(screenIndex: number) {
self.screenIndex = screenIndex
},
setScreenView(screenView: AuthScreenView) {
self.screenView = screenView
},
swipeNext() {
if (self.screenView) {
self.screenView.scrollBy(self.getScreenIndex() < 2 ? 1 : 0)
}
},
swipePrev() {
if (self.screenView) {
self.screenView.scrollBy(self.getScreenIndex() > 0 ? -1 : 0)
}
}
}
})
const AuthScreenStore = AuthScreenModel.create({
screen: 'auth',
phoneModel: PhoneModel.create({
country: CountryModel.create({}),
phoneNumber: ''
})
})