如何将状态传递给组件React Native

Maj*_*olm 3 state navigator reactjs react-native

我是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>
Run Code Online (Sandbox Code Playgroud)

第二部分,'问题1'

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>
Run Code Online (Sandbox Code Playgroud)

非常感谢提前

Chi*_*hah 6

我想你在用react-navigation.如果是,则需要进行以下更改以访问stupidCountQuestion2组件中的值.

questions组件中,

国家应该设置为:

this.state={
  stupidCount: 1,
}
Run Code Online (Sandbox Code Playgroud)

onPress应该被处理为

onPress={() => navigate('Question1', { stupidCount: this.state.stupidCount } )}

在Questions2组件中,您可以访问以下值:

this.props.navigation.state.params.stupidCount