无法在 React.js 中设置未定义的属性“props”

无法在 React.js 中设置未定义的属性“props”

Cannot set property ‘props’ of undefined in React.js

当我们在 React.js 中声明类组件时添加一组额外的括号时,会出现“cannot set property ‘props’ of undefined”错误。

要解决该错误,请删除Component类声明后的括号,例如class App extends Component {}.

类型错误无法设置未定义的属性道具

下面是错误如何发生的示例。

应用程序.js
import React, {Component} from 'react'; // 👇️ Notice extra set of () after Component class App extends Component() { render() { return <div>Example</div>; } } export default App;

当我们尝试从Component
构造函数扩展并返回错误时,我们放置了一组额外的括号。

要解决该错误,您必须Component在声明类组件时删除后面的括号。

应用程序.js
import React, {Component} from 'react'; // ✅ Works class App extends Component { render() { return <div>Example</div>; } } export default App;

发生错误的原因是我们将Component
构造函数作为函数调用,在这种情况下
this关键字等于
undefined

并且当以下行运行时,尝试props在值上设置属性
undefined会引发错误。

// 👇️ `this` was `undefined` here this.props = props;
这种行为不是 React.js 特有的,这也是 JavaScript 中工作的确切方式。


扩展
类或构造函数(本质上是同一件事)时,请确保不要添加额外的一组括号,因为您会调用该类并得到错误。