无法调用或更新另一个组件React Native的状态

时间:2018-01-17 02:15:53

标签: javascript reactjs react-native react-router react-redux

当我从子组件中单击按钮时,我无法在父组件上触发方法。

这是我的代码:

 constructor(props) {
        super(props);

        this.state = {
            text: '',
        };
    }

    nav = DrawerNavigator({
            Child: {
                screen: Child,
                navigationOptions: {
                    title: 'Child Component'
                }
            },
            Profile: {
                screen: Profile
            },
        }, {
            screen: Profile,
            contentComponent: DrawerContent
        });

       const DrawerContent = (props) => (
            <View> {this.state.text}</View>
})

    const
    nav2= DrawerNavigator({
        Child: {
            screen: Child,
            navigationOptions: {
                title: 'Child cmp'
            }
        },
        Profile: {
            screen: Profile
        },
        screen: Manager
        }
    }, {
        screen: Profile,
        contentComponent: DrawerContent
    });

    const Layout = createRootNavigator(signedIn);

    return (
        <View>
           <Layout/>
        </View>
    );

我想要点击Child cmp上的一个按钮,我调用Child cmp中的一个函数,该函数在调用结束后进行一些后端调用,我希望Parent状态更新。我尝试了不同的方法,但我无法成功!

1 个答案:

答案 0 :(得分:0)

如果需要更新父状态,则需要在父级中创建一个更新其状态的函数,并将该函数作为prop传递给子级。然后,您可以通过调用this.props.whateveryourmethodis

来更新父状态