onPress按钮在加载页面时运行

时间:2017-12-19 19:28:33

标签: react-native

我将数据发送到我的API,然后调用DataManifest.js页面

在此页面上,我只需拨打import { Actions } from 'react-native-router-flux';

即可

我有一个按钮,点击后会转到index.js页面

<Button
  onPress={ Actions.index() }
  title="Return"
  color="#841584"
/>

但是,在加载页面时,它会直接调用index.js而不点击按钮

并返回以下调试器警告:

  

警告:在现有状态转换期间无法更新(例如   在render或其他组件的构造函数中)。渲染方法   应该是道具和国家的纯粹功能;构造函数的副作用   是一种反模式,但可以移到componentWillMount

2 个答案:

答案 0 :(得分:3)

想想onPress是什么。这是一个功能。你需要传递一个函数。你最初传递的是运行该函数的结果。你不想传递运行函数的结果,你想要一个函数。所以你会通过onPress={Actions.index}。如果您需要管理调用函数的参数,那么您可以将其包装在另一个函数中并以这种方式进行管理。像其他答案一样onPress={ () => { Actions.index() } }。但是你看,这是返回一个函数,而不是运行函数的结果。

答案 1 :(得分:1)

onPress={ Actions.index() }

onPress={ () => { Actions.index() } }