i具有许多按钮的ChooseLevel
组件。一旦我单击一个按钮onLevelSelected
函数,它将调用Action Creator,该功能创建将返回操作类型,此外,它将将我重定向到qPage
组件。在qPage
组件中,我进行了一些计算,然后将结果放在总变量中。这是我的代码:
chooselevel.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)}>
....
}
}
我的动作创造者看起来像这样:
import { Actions } from 'react-native-router-flux';
export const levelSelected = (levelNumber) => {
return (dispatch) => {
dispatch({
type: 'level_selected',
payload: levelNumber
});
Actions.qPage(); // redirects me to qPage component
};
};
qpage.js
class qPage extends Component {
constructor(props){
...
}
calc(){
.... some calculation
total = result of previous calculation
}
render(){
....
....
}
}
我如何通过总计变量从qpage到choeselevel页面?
您需要做的是,我将一步一步:
1)创建一个动作并传递该动作中的计算值。
2)通过道具(还原)访问该计算的值
3)您可以使用ComponentWillupDateProp(NextProps),在此功能中,将此新的道具分配给了类。
欢呼:)