使用 React Context 时避免重复

Avoid duplication when using React Context

我正在使用 React 上下文进行状态管理,代码环境不喜欢围绕上下文提供程序的重复。

有什么方法可以删除重复项吗?

可以针对此特定代码放宽代码气候规则。

也就是说,您可以将上下文的当前用法转换为 React 组件,将其 props 公开为通道,以在通用上下文提供程序中提供值。

例如,可以创建一个 WithCollection 组件,将其 props 转发给通用 CollectionContext.Provider。将函数 TasksContext.ProviderCommentsContext.Provider 合并到 CollectionContext.Provider.

class WithCollection extends React.Component {
  render() {
    const {children, ...value} = this.props
    return (
      <CollectionContext.Provider value={value}>
      {children}
      </CollectionContext.Provider>
    );
  }
}

其用法如下:

<WithCollection tasks={this.state.tasks}>
//...
</WithCollection>