反应天然成分(反应 - 新旋化器 - 频率)中的Onenter/OnexIT方法



,这样我就可以在路由器定义中使用我的应用程序的onenter/onexit方法,并且可以很好地工作:

<Scene key="arena" hideNavBar={true}  onEnter={() => console.log("Entered")} component={ArenaPage} />

有什么办法可以在组件本身内部执行此操作,以便我可以更新本地状态??

export default class ArenaPage extends Component {
    onEnter () {
        this.setState(...)
    }
    // Render blah blah blah...
}

如果不可能,无论如何,在远离场景时触发componentwillunmount(操作。[键])

您可以使用onEnteronExit方法来获取所需的结果。然后可以像这样访问this

import { Actions } from 'react-native-router-flux'
class Home extends Component {
  static onEnter() {
     // homeSceneKey needs to be the same key that you use to configure the Scene
     Actions.refs.homeSceneKey.getWrappedInstance().myFunction()
  };
  myFunction = () => {
     // have access to this (props and state) here
     this.blah = "what ever you want to do"
  }
}

希望这有帮助

请检查最新的react-native-router-flux:beta.27,现在您可以定义Onenter,Onexit方法为您的React组件方法。

class Home extends Component {
  static onEnter() {
    console.log('On Focus Enter')
  };
  static onExit() {
    console.log('On Focus Exit')
  }
}

简单使用componentwillunmount,在ARAPAGE组件中。

componentWillUnmount() {
    // add your code here.
}

因为当导航远离组件时,这将运行。我正在使用它来删除错误消息。而且有效。

相关内容

  • 没有找到相关文章

最新更新