我是ReactNative的初学者。
我看到了Chat in React Native,我也有类似的问题。
我希望每个群组聊天都有多个群聊,其中包含完全不同的消息历史记录。
标准方式,就像我得到的那样,是在Apps渲染功能中重复使用相同的聊天组件(例如GiftedChat),并将状态与当前群组聊天的消息一起传递。
但这总是需要花费大量时间来重新渲染 - 我如何“存储”不同群聊的视图以绕过重新渲染?
有没有办法动态添加视图组件并只显示/隐藏它们?
答案 0 :(得分:0)
我自己找到了解决方案。
我尝试使用ReactNative中的不同导航器并注意到,每次导航时都会实例化StackNavigator的路径项。
TabNavigators重复使用相同的实例。
获得所需功能的两个步骤:
1)禁用TabBar的可见性:
const TabNav = TabNavigator({
Home: { screen: HomePage},
Chat1: { screen: ChatScreen} ,
Chat2: { screen: ChatScreen} ,
// ...
},
{
navigationOptions: ({ navigation }) => ({
tabBarVisible: false,
}),});
2)手动导航 - 例如通过按钮:
<Button title="Chat1" onPress={() => this.props.navigation.navigate("Chat1") }/>
看一个简单的例子:
https://github.com/chrisdie/AwesomeNavigation/blob/master/src/tabbar2/App.js