小编Nel*_*Luk的帖子

将状态和分派放入单独的上下文提供程序是否可以防止不必要的重新渲染?

我在官方的 next.js 示例中发现了这一点state并且dispatch将信息放在了单独的上下文提供程序中。

这样做的意义何在?这种做法是否可以防止不必要的重新渲染?

export const CounterProvider = ({ children }) => {
  const [state, dispatch] = useReducer(reducer, 0)
  return (
    <CounterDispatchContext.Provider value={dispatch}>
      <CounterStateContext.Provider value={state}>
        {children}
      </CounterStateContext.Provider>
    </CounterDispatchContext.Provider>
  )
}

export const useCount = () => useContext(CounterStateContext)
export const useDispatchCount = () => useContext(CounterDispatchContext)
Run Code Online (Sandbox Code Playgroud)

reactjs next.js react-context use-reducer context-api

3
推荐指数
1
解决办法
339
查看次数