React native 在react native中将变量从一个组件传递到另一个组件
我有React native 在react native中将变量从一个组件传递到另一个组件,react-native,React Native,我有ChooseLevel组件,它有许多按钮。一旦我点击一个按钮onLevelSelected函数被调用,它将调用action creator,action creator将返回一个动作类型,而且它将把我重定向到qPage组件。在qPage组件中,我进行了一些计算,并将结果放入总变量中。 这是我的密码: 选择level.js class ChooseLevel extends Component { constructor(props) { super(props);
ChooseLevel
组件,它有许多按钮。一旦我点击一个按钮onLevelSelected
函数被调用,它将调用action creator,action creator将返回一个动作类型,而且它将把我重定向到qPage
组件。在qPage
组件中,我进行了一些计算,并将结果放入总变量中。
这是我的密码:
选择level.js
class ChooseLevel extends Component {
constructor(props) {
super(props);
}
onLevelSelected(levelNumber) {
this.props.levelSelected(levelNumber);
}
render(){
<Button key={1} onPress={this.onLevelSelected.bind(this, 1)}>
<Button key={2} onPress={this.onLevelSelected.bind(this, 2)}>
<Button key={3} onPress={this.onLevelSelected.bind(this, 3)}>
....
}
}
class qPage extends Component {
constructor(props){
...
}
calc(){
.... some calculation
total = result of previous calculation
}
render(){
....
....
}
}
qPage.js
class ChooseLevel extends Component {
constructor(props) {
super(props);
}
onLevelSelected(levelNumber) {
this.props.levelSelected(levelNumber);
}
render(){
<Button key={1} onPress={this.onLevelSelected.bind(this, 1)}>
<Button key={2} onPress={this.onLevelSelected.bind(this, 2)}>
<Button key={3} onPress={this.onLevelSelected.bind(this, 3)}>
....
}
}
class qPage extends Component {
constructor(props){
...
}
calc(){
.... some calculation
total = result of previous calculation
}
render(){
....
....
}
}
如何将total变量从qPage传递到ChooseLevel页面 你需要做的是,我会一步一步地: 1) 再创建一个动作并在该动作内传递计算值 2) 通过道具(减速器)访问该计算值 3) 您可以使用componentWillUpdateProp(nextprops),在这个函数中,将这个新的属性分配给类的状态
干杯:)你的qpage需要渲染一些东西吗?是的,我省略了部分代码。你在使用redux吗?是的,我在使用redux查看答案。好的,我已经按照步骤进行了操作。现在,在mapStateToProps函数(位于ChooseLevel.js文件中)中,我可以正确地控制台.log total的值,如果我在render()方法中打印它,我可以成功地看到它。我现在的问题是,我试图在componentWillReceiveProps()中控制台.log(this.props.total),但它返回的是未定义的