Как передавать функции и данные с использованием контекста без создания нового объекта значения с другим идентификатором при каждом повторном рендеринге - PullRequest
0 голосов
/ 04 февраля 2020

У меня есть коллекция функций, а также данные, которые мне нужно передать потребительским компонентам. и мой код выглядит так

return(    
<EditorContext.Provider value={{
    images, //array
    editMode, //boolean
    previewMode, //boolean
    removeImage, //function
    handleAddImageClick, //function
}}>
    <EditorToolBar />
</EditorContext.Provider>

);

и все работает правильно, но в React Context Docs есть предупреждение о том, что значение передается в виде объекта, подобного это приведет к непреднамеренному повторному рендерингу потребителей каждый раз при повторном рендеринге провайдера, и их предлагаемое решение - перевести объект значения в состояние и передать его как <EditorContext.Provider value={this.state.value} >. Однако я попробовал это решение, и оно у меня не сработало

...