gpt4 book ai didi

react-native - 将导航参数作为 Prop 发送给其他组件

转载 作者:行者123 更新时间:2023-12-04 15:40:07 27 4
gpt4 key购买 nike

我正在使用 RN v0.46.4 、react-navigation 和 sendbird。

我正在开发一个聊天应用程序。

我想要做的是将用户导航到带有两个参数的 Msg 屏幕 item (包含用户信息)和 createdChannel .

它们只通过一次,即每次我导航到 Msg不同用户的屏幕,我收到的值与我首先按下的值相同。

聊天画面

_chat(item){

// console.log(item);
const { navigate } = this.props.navigation

var userIds = [item.id,1];
sb = new SendBird({appId: APP_ID});
sb.connect(1, function(user, error) {
//console.log(user);
sb.GroupChannel.createChannelWithUserIds(userIds, true, item.firstname, function(createdChannel, error) {
if (error) {
console.error(error);
return;
}

//console.log(createdChannel);
navigate('Msg', { item, createdChannel })

});

另外,当我控制台 createdChannel_chat function ,它按预期提供了正确的信息。

但是当我在 Msg 中安慰它时screen ,我只收到上面已经说过的第一个 createdChannel 。

留言屏
 super(props);
console.log(props.navigation.state.routes[1].params.createdChannel);

我的路由器结构:
const CustomTabRouter = TabRouter(
{

Chat: {
screen: ChatStack,
path: ""
}
}

聊天堆栈
const ChatStack= StackNavigator({
Chat:{screen: Chats,
navigationOptions: {
header: null,
}},

Msg: {
screen: Msg,
navigationOptions: ({ navigation}) => ({
title: `${navigation.state.params.item.firstname} ${navigation.state.params.item.lastname}`,
tabBarVisible: false

})
},
})

最佳答案

在您的消息屏幕的构造函数中,尝试访问 itemcreatedChannel调用 props.navigation.state.params.createdChannel .

super(props);
console.log(props.navigation.state.params.createdChannel);
console.log(props.navigation.state.params.item);

关于react-native - 将导航参数作为 Prop 发送给其他组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45266362/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com