Невозможно вызвать или обновить состояние другого компонента React Native

Мне не удается запустить метод для родительского компонента, когда я нажимаю кнопку дочернего компонента.

Это мой код:

 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>
    );

Я хочу, чтобы при нажатии кнопки на дочернем cmp я вызывал функцию внутри дочернего cmp, которая после завершения этого вызова выполняет какой-то внутренний вызов, я хочу обновить состояние Parent. Я пробовал разные способы, но не смог добиться успеха!

1 ответ

Решение

Если вам нужно обновить родительское состояние, вам нужно создать функцию в родительском состоянии, которая обновит его состояние и передаст эту функцию дочернему элементу в качестве реквизита. Затем вы можете обновить родительское состояние, вызвав this.props.whateveryourmethodis

Другие вопросы по тегам