我正在尝试学习反应,但是我无法编译我的程序。当我运行我的代码时,它表示无法编译,并且状态未定义。我遵循了react网站上的设置状态,但是它仍然说没有定义。 Ive在网上进行了全面搜索,并说这是应该建立状态的方式。请帮忙!
const App = () => {
state = {name: "Jim"};
return (
<Profile name={this.state.name} />
);
}
答案 0 :(得分:1)
您正在尝试在无状态组件中初始化状态。您应该将其更改为有状态组件。您还尝试设置状态而不使用componentDidMount()
或constructor()
函数设置状态。您可以将其变成一个有状态的组件,然后像下面这样调用构造函数:
class App extends React.Component {
constructor() {
super();
this.state = { name: "Jim" };
}
render() {
return (
<Profile name={this.state.name} />
);
}
}
您可以了解无状态和有状态组件here。
答案 1 :(得分:0)
您试图像类属性一样使用state
,但是您位于函数体内,而不是类内。您需要const state = {name: "Jim"};
或将组件设为类。