反应组件无法编译

时间:2019-02-26 23:27:53

标签: reactjs

我正在尝试学习反应,但是我无法编译我的程序。当我运行我的代码时,它表示无法编译,并且状态未定义。我遵循了react网站上的设置状态,但是它仍然说没有定义。 Ive在网上进行了全面搜索,并说这是应该建立状态的方式。请帮忙!

const App = () => {
    state = {name: "Jim"};

    return (
        <Profile name={this.state.name} />
    );
}

2 个答案:

答案 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"};或将组件设为类。