作为值prop传递给上下文提供程序的数组(在第8行)每次呈现都会改变.我怎样才能解决这个问题?



我正在使用上下文和HOC。我在内部通过上下文将状态传递给HOC,它会抛出这样的错误。您需要添加useMemo。但我不知道该怎么做。谁能告诉我怎么解决这个问题?数组作为值prop传递给上下文提供程序(在第8行),每次渲染都会改变。要解决这个问题,可以考虑将它包装在useMemo钩子react/jsx-no- construct-context -values

这是我的HOC

function ModalProvider({ children }) {
const [context, setContext] = useState(false);
return (
<MyContext.Provider value={[context, setContext]}>
{children}
</MyContext.Provider>
);
}

您可以像这样使用useMemo

const contextMemo = useMemo( () => context ), [context]

然后使用contextMemo代替context它的作用是只在context发生变化时获取contextMemo的新值

最新更新