首页 > 解决方案 > SPFx 1.4 和 React 15 的 React 组件交互的 Redux 替代方案 - 无 Hooks

问题描述

如您所知,迄今为止,SPFx 1.4 是最新的 onPrem SharePoint (2019) 支持的版本。不幸的是,只有 React 15 不支持钩子(钩子让反应状态和使用 redux 变得容易)。

我们只需要让几个 React 类组件相互通信(例如提交按钮以在 aync 调用期间禁用所有其他组件并同时启用微调器作为一个示例场景)。

表格太多了。将每个组件的回调函数传递给其他组件绝对不是可扩展的解决方案。

将现有的 React 升级到 16 会破坏 SharePoint 工作台,因此我们无法进行测试,因此也无法进行路由。

我们考虑了 Formik,但它似乎只适用于简单类型的输入控件,而我们正在使用花哨的 Fluent UI 控件和复杂的人员选择器。

需要一种解决方案,在不使用回调的情况下从层次结构中的不同组件调用组件 setState 函数。什么是简单的解决方案?或者如果知道框架可以在这里帮助我们?

标签: javascriptreactjstypescriptreact-reduxspfx

解决方案


看来我们必须添加一些虚拟父组件。

使用父组件的状态并将其作为 PROP 传递给组件确实具有相同的目的。

道具的变化也会导致孩子重新渲染并服务于目的。

希望这对处于相同情况的其他人有所帮助。


推荐阅读