如何使用默认的反应状态作为状态提供者而不是 redux 或 mobx?
How to use default react state as state provider instead of redux or mobx?
当我尝试连接 redux 和 react router vs mobx 和 react router 时,我感到非常疲劳。我还尝试使用路由器的 render
功能连接顶级状态,但由于路由器不刷新,该方法将失败。我的状态管理要求相当简单,我觉得 redux 或 mobx 太过分了。我真正需要的是一个顶级状态提供者,它的行为就像任何其他组件级状态一样,并使用回调的方式来操纵它。
整个上午都在谷歌搜索和寻找不同的解决方案,但是,我找不到一个现成的解决方案,它具有默认的反应状态,可以与反应路由器 (v4) 一起工作。
有解决办法吗?或者当涉及到 react router 状态时,它真的是不可能做的事情?
你是如何设置 Mobx 的?也许你想多了。您可以设置一个顶级可观察对象,它几乎模仿标准组件状态,但具有反应式编程的所有优点。
如果您使用 mobx-react
包中的 <Provider>
包装器组件,那么使用 @inject
的所有子组件都可以访问该存储区。结合 @observer
任何依赖于您的商店的组件都会在您更改时更新。
查看我创建的这个代码沙箱示例来向您展示:
https://codesandbox.io/s/jzv73o97r5
当我尝试连接 redux 和 react router vs mobx 和 react router 时,我感到非常疲劳。我还尝试使用路由器的 render
功能连接顶级状态,但由于路由器不刷新,该方法将失败。我的状态管理要求相当简单,我觉得 redux 或 mobx 太过分了。我真正需要的是一个顶级状态提供者,它的行为就像任何其他组件级状态一样,并使用回调的方式来操纵它。
整个上午都在谷歌搜索和寻找不同的解决方案,但是,我找不到一个现成的解决方案,它具有默认的反应状态,可以与反应路由器 (v4) 一起工作。
有解决办法吗?或者当涉及到 react router 状态时,它真的是不可能做的事情?
你是如何设置 Mobx 的?也许你想多了。您可以设置一个顶级可观察对象,它几乎模仿标准组件状态,但具有反应式编程的所有优点。
如果您使用 mobx-react
包中的 <Provider>
包装器组件,那么使用 @inject
的所有子组件都可以访问该存储区。结合 @observer
任何依赖于您的商店的组件都会在您更改时更新。
查看我创建的这个代码沙箱示例来向您展示: https://codesandbox.io/s/jzv73o97r5