javascript - 升级到 NextJS 9.0 后如何修复 React Hooks?

标签 javascript reactjs react-hooks next.js

将 nextjs 更新到 9.0.0 后,此问题在构建过程中发生。 nex^8.1.0 → ^9.0.0
在页面组件中,我使用的是我之前设置的全局存储。

const { state, dispatch } = React.useContext(React.createContext())

错误信息是
TypeError:无法读取未定义的属性“state”,> 发生构建错误

最佳答案

原来我必须为 React.createContext() 提供一个默认值 我有初始值,但我将它们传递给 Store.Provider

export function StoreProvider(props) {
  const [state, dispatch] = React.useReducer(reducer, initialState);
  const value = { state, dispatch };
  return <Store.Provider value={value}>{props.children}</Store.Provider>}

我只需要将 initialState 添加到 createContext()

export const Store = React.createContext({ state: initialState })

关于javascript - 升级到 NextJS 9.0 后如何修复 React Hooks?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56939904/

相关文章:

javascript - 如何在 Worker 中预加载图像?

javascript - 如何将 JavaScript 插入到 Power BI 报表服务器

javascript - 使用 jquery 表情符号插件时,componentDidMount 的行为与 useEffect 不同

css - 我如何创建样式元素并附加到 React 中的头部?

javascript - 如何在 react 中处理条件渲染

javascript - 下一个JS : how to use window in custom hook?

reactjs - 如何修复 nextCreate 不是设置 useMemo 设置身份验证 react 路由器和 Hook 的函数

javascript - 发现由于验证错误,表单未发布到服务器

javascript - 将 (object.function) 作为参数传递

javascript - Material UI 自动完成实现,带有包含对象数组(ID 和标签)的选项