为什么我的状态在React.js中没有更新

时间:2016-04-26 11:47:08

标签: javascript reactjs

我不明白为什么我的州在这段代码中没有更新。我查看了答案here,但似乎没有回答我的问题b / c我只有一个要绑定的组件。

import React from 'react';
import ReactDOM from 'react-dom';

class App extends React.Component {
    constructor() {
        super();
        this.state={
            headline: 'this is headline state',
            cat: 25
        }
    }

    update(e) {
        this.setState=({headline: e.target.value})
    }

    render() {
        let headline=this.state.headline
        return (
            <div>
                <input type="text"
                onChange={this.update.bind(this)} />
                <h1>{headline}</h1>
            </div>
        );
    }
}

App.propTypes = {
    headline: React.PropTypes.string,
    cat: React.PropTypes.number
}

ReactDOM.render(
    <App />,
    document.getElementById('app')
    );

2 个答案:

答案 0 :(得分:4)

setState是方法而非属性,请删除=

update(e) {
   this.setState({ headline: e.target.value });
}

Example

答案 1 :(得分:1)

您的代码中有一种类型:

this.setState=({headline: e.target.value})

应该是

this.setState({headline: e.target.value})

其余的看起来很好。