在我的100应用程序中,我似乎无法访问window:

未处理的拒绝(ReferenceError):未定义窗口

componentWillMount() {
    console.log('window.innerHeight', window.innerHeight);
}

Enter image description here

推荐答案

将代码从componentWillMount()移到componentDidMount():

componentDidMount() {
  console.log('window.innerHeight', window.innerHeight);
}

下一个.js,componentDidMount()仅在客户端上执行,其中window和其他特定于浏览器的API将可用.从Next.js wiki人中:

下一个js是通用的,这意味着它首先在服务器端执行代码,

同样,componentWillMount()在React的v17中将是deprecated,因此在不久的将来使用它实际上可能是不安全的.

Reactjs相关问答推荐

尽管在CLI中收到来自Stripe的OK Post请求,但没有webhook Post请求的处理- NextJS 14

如何在Pivot模式下自定义标题?

404使用GitHub操作部署Next.js应用程序时出错

如何在Reac.js中通过子组件和props 调用父组件函数?

为多租户SSO登录配置Azure AD应用程序

在ReactJS的monaco编辑器中添加美人鱼语法

未定义发送的数据无法在reactjs中找到原因

关于forwardRef,我可以';我不理解第二个用例

Chakra UI:如何在选中状态下设置复选框 colored颜色

下一个js如何从另一个组件更新组件?

FlatList 不在 React Native 中呈现项目

为什么 setState 在 React 中不是异步的?

在 React 的父级中多次调用子级时从子级获取数据到父级

如何通过 id 从 useSprings 数组中删除元素

用 scss 覆盖 MUI

在 redux 工具包中使用 dispatch 发送多个操作

如何使用 useEffect 和 if 语句 React

从输入中获取数字时,react 计数器不会增加

试图将页面限制为仅登录但有条件的用户似乎永远不会运行

调用函数以获取数据并在数据到达时导航到链接