我是React Native的新手,真的无法弄清楚为什么我无法将状态从一个组件传递到另一个组件
export default class questions extends Component {
constructor(props){
super(props);
this.state={
name: "stupidCount",
val: 1}
}
render(){
const { navigate } = this.props.navigation;
const { name2 } = this.state;
return(
<View style={styles.box}>
<TouchableOpacity onPress={() => navigate('Question1', stupidCount={name2})} >
<Text style={styles.h1}> Question 1 </Text>
</TouchableOpacity>
第二部分,&#39;问题1&#39;
export default class Question2 extends Component {
render(){
const { navigate } = this.props.navigation;
console.log(stupidCount.val);
return(
<View style={styles.box}>
<Text style={styles.h1}>Question 2 </Text>
<Text> state test {stupidCount.val}</Text>
提前多多感谢
答案 0 :(得分:5)
我认为您正在使用react-navigation
。
如果是,则需要进行以下更改以访问Question2组件中stupidCount
的值。
在questions
组件中,
状态应设置为:
this.state={
stupidCount: 1,
}
onPress应该作为
处理 onPress={() => navigate('Question1', { stupidCount: this.state.stupidCount } )}
在Questions2组件中,您可以访问以下值:
this.props.navigation.state.params.stupidCount