【发布时间】:2020-10-29 18:33:00
【问题描述】:
如您所知,到目前为止,SPFx 1.4 是最新的 onPrem SharePoint (2019) 的受支持版本。不幸的是,只有 React 15 不支持钩子(钩子让反应状态和使用 redux 变得容易)。
我们只需要让几个 react 类组件相互通信(例如提交按钮以在 aync 调用期间禁用所有其他组件并同时启用微调器作为一个示例场景)。
表格太多了。将每个组件的回调函数传递给其他组件绝对不是可扩展的解决方案。
将现有的 React 升级到 16 会破坏 SharePoint 工作台,因此我们无法进行测试,因此也无法进行路由。
我们考虑过 Formik,但它似乎只适用于简单类型的输入控件,而我们正在使用花哨的 Fluent UI 控件和复杂的人员选择器。
需要一种解决方案,在不使用回调的情况下从层次结构中的不同组件调用组件 setState 函数。什么是简单的解决方案?或者如果知道框架可以在这里帮助我们?
【问题讨论】:
-
你目前在使用 redux 吗?就目前而言,没有什么能阻止你使用 react 15 redux 最佳实践来访问全局状态
-
@DerekPollard redux with typescript in spfx 的语法过于冗长。对于如此简单的要求,这似乎太过分了。你有一个在 sfpx 中添加和使用 redux 的简单示例,以便我们让我们的组件相互通信
-
您确定需要全局状态吗?为单个用例添加 redux 感觉有点矫枉过正,你可以只使用 localstate 并将他们需要的东西传递给孩子
-
感谢@DerekPollard。我们不需要全局状态,也不知道我们是否需要。我们有 45 个反应组件。都需要调用每个rest组件的setState方法。如何实现。也大多没有父子元素,它们都是单个根元素的子元素
标签: javascript reactjs typescript react-redux spfx