Невозможно вызвать или обновить состояние другого компонента 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