Я новичок в реакции-навигации, и я хотел бы передать «навигацию» в качестве реквизита, чтобы я мог ее использовать. Потому что, когда я пытался использовать его в другом compo, он выдает сообщение об ошибке «undefined this.props.navigation и т. д.»
Итак, вот что я хотел бы сделать
goto = {()=>this.props.navigation.navigate('ChatBox', {
avatarUrl: matches.avatarUrl,
name: matches.name,
navigation: this.props.navigation
})}Как вы можете видеть, я передаю навигацию через реквизиты своему компоненту с именем «ChatBox». Но проблема в том, что мой "ChatBox" compo не получает навигацию. Кто-нибудь может мне помочь? Благодарность





Есть несколько концепций, которые, я думаю, вы упустили.
this.props.navigation()<Chatbox navigation = {this.props.navigation} />.В вашем случае ваш объект навигации отправляется правильно, просто вы ошибочно загружаете его в свой компонент Chatbox. Ваша навигация в качестве опоры инкапсулирована в самом объекте навигации (т.е. он присутствует в this.props.navigation.state.params.navigation), и, поскольку вы не упомянули компонент Chatbox в своем классе навигатора стека, вы не можете ссылаться на объект навигации, поскольку он в настоящее время выходит за рамки .
Так,
<Chatbox/> и предоставив ему реквизиты (как указано в пункте 2 выше) вместо перехода к компоненту.Chatbox в классе навигатора стека, а затем вы сможете использовать свой объект навигации.