Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs React钩子:跨独立组件侦听事件_Reactjs_React Native_Sqlite_React Hooks - Fatal编程技术网

Reactjs React钩子:跨独立组件侦听事件

Reactjs React钩子:跨独立组件侦听事件,reactjs,react-native,sqlite,react-hooks,Reactjs,React Native,Sqlite,React Hooks,我的应用程序具有以下示例结构: <App> --<Users> ------<UserList/> --</Users> --<UserManagement> ------<UserList/> ------<AddUser/> --</UserManagement> </App> -- ------ -- -- ------ ------ -- 在中,我使用一个状态变量来监听在中完

我的应用程序具有以下示例结构:

<App>
--<Users>
------<UserList/>
--</Users>
--<UserManagement>
------<UserList/>
------<AddUser/>
--</UserManagement>
</App>

--
------
--
--
------
------
--
中,我使用一个状态变量来监听在
中完成的变异,以便
在变异完成后直接更新

现在,如果我添加一个用户并转到,那里的
不会重新渲染,因为它不知道数据库中的更改。例如,我不知道useEffect钩子应该听什么

我考虑使用
中提供的React上下文。但我不确定这是否是正确的解决方案。我使用的是一个简单的sqlite数据库,不提供任何订阅工具或其他东西

有人能给我一个提示吗

我希望它可以理解,否则我将提供代码


谢谢

有两种方法:

  • 您可以将相同的状态变量传递给表示用户列表中的更改的组件。使用useEffect钩子侦听此变量,以便再次从数据库获取用户列表

  • 在中创建另一个与数据库基本同步的状态变量。将此变量传递到组件中。添加用户后,将添加到sql数据库和此变量。您还可以将相同的变量传递到以显示用户。请记住,这种方法基本上是复制用户列表