Избегайте дублирования при использовании React Context - PullRequest
0 голосов
/ 26 февраля 2019

Я использую контекст React для управления состоянием, а климат кода не любит повторения вокруг провайдеров контекста.

enter image description here

Есть ли способчто я могу удалить дубликаты?

1 Ответ

0 голосов
/ 26 февраля 2019

Правило климата Код может быть смягчено для этого конкретного кода.

Тем не менее, вы можете преобразовать текущее использование контекста в компонент React, выставив его реквизиты в качестве канала для предоставления значений в универсальном поставщике контекста.

Например, компонент WithCollectionкоторый направляет свои реквизиты на общий CollectionContext.Provider, может быть создан.Объединяет функции TasksContext.Provider и CommentsContext.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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...