我正在尝试设置一个标题,包含在布局文件中,用于导入用户的在线状态。但只有当我导航时才会让人耳目一新

问题描述 投票:0回答:1

在我的 React Native Expo App 项目中,我使用 Expo Router,因此有一个包含有关选项卡信息的 layout.tsx 文件。在这个文件中,我包含了一个标题,以便标题将显示在所有页面上。此标头导入一个包含用户信息(例如在线状态)的数组,并显示用户名和在线或离线符号。然而,只有当我导航到另一个页面时,标题才会刷新,我确实明白为什么。但我该如何解决这个问题呢?

const TabLayout = () => {
  return (
    <>
<Header/>
    <Tabs
...
<Tabs.Screen/>
<Tabs.Screen/>
...
    </Tabs>
    </>
  );
}

这是标题:

import { user } from '../(tabs)/five'
// user[]: online; loginVis, registerVis, userVis, colorIcon, onlineDesc 

export default function Header(){

  return (
    <View>
...
        <Text style={styles.textOnline}>{user[5]}</Text>
        <View style={styles.online2}>
          <View style={{backgroundColor: user[4]}}/>
        </View>
    </View>
...
  );
}
reactjs variables import refresh native
1个回答
0
投票

所以您面临的问题是,当用户状态发生变化时,标题组件不会重新渲染。

这是正常的,您应该使用上下文提供程序包装您的应用程序。 在这里您可以找到对此的简要说明。

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.