我将数据发送到我的API,然后调用DataManifest.js页面
在这个页面上我只是打电话给import { Actions } from 'react-native-router-flux';
我有一个按钮,点击后将转到index.js
页面
<Button
onPress={ Actions.index() }
title="Return"
color="#841584"
/>
但是,在加载页面时,它直接调用index.js
而不单击按钮
并返回以下调试器警告:
警告:无法在现有状态转换期间更新(例如在
render
或其他组件的构造函数中)。渲染方法应该是道具和状态的纯函数;构造函数的副作用是反模式,但可以移动到componentWillMount
。
想想onPress是什么。这是一个功能。你需要传递一个函数。你最初传递的是运行该函数的结果。你不想传递运行函数的结果,你想要一个函数。所以你会通过onPress={Actions.index}
。如果您需要管理调用函数的参数,那么您可以将其包装在另一个函数中并以这种方式进行管理。像其他答案建议onPress={ () => { Actions.index() } }
。但是你看,这是返回一个函数,而不是运行函数的结果。
从
onPress={ Actions.index() }
至
onPress={ () => { Actions.index() } }