当我用纯React.js开发时,我习惯于将一些数据存储到Redux中,并设置一些组件来侦听Redux中的更改(使用useSelector
(source)。但现在我面临着同样的问题,但在不同的技术。在Remix中没有使用Redux的useSelector。是的,有可能使用useState
,但它必须在一个父组件下,但我没有我没有这个结构。那么当一些独立的状态改变时,有没有办法强制组件重新呈现呢?谢谢
我试过调用一些函数来强制重新渲染,但这不是一个“好”的解决方案。我甚至想过将数据存储到localStorage/cookie中,但当它们改变时,组件不会更新(我理解为什么它不强制重新渲染,但我已经尝试过了...)。
1条答案
按热度按时间inkz8wg91#
Redux应该仍然可以正常工作,即使与Remix,因为它只是一个状态管理器。这是完全有可能的,所有你有一个配置问题与Redux (我个人不喜欢Redux,因为如何不必要的复杂使用)
您可以尝试使用React自己的Context来存储可供多个组件使用的状态,其他经过验证的状态管理器包括jotai或zustand。
即使是常规状态也可以工作,因为在混音中总是有一个根组件:即根目录. tsx。
很难理解你想要达到什么目的。其他更新UI各个部分的方法是使用嵌套路由和。你可以使用useLoaderData()访问父页面和子页面数据。