【问题标题】:Getting Error message: Unexpected Token收到错误消息:意外的令牌
【发布时间】:2017-04-15 06:33:54
【问题描述】:

我在react 中尝试此代码,但我收到此错误:

意外的令牌。

我试图将bind 的值更改为html 上的某个值,并查看值的变化是否反映在html 上,例如angular ng-bindings

代码:

class NameForm extends React.Component {
    constructor(props) {
        super(props);
        this.state = {value: ''};

        this.handleChange = this.handleChange.bind(this);
        this.handleSubmit = this.handleSubmit.bind(this);
    }

    handleChange(event) {
        this.setState({value: event.target.value});
    }


    handleSubmit(event) {
        alert('A name was submitted: ' + this.state.value);
        event.preventDefault();
    }

    render() {
        return (
            <form onSubmit={this.handleSubmit}>
                <label>
                    Name:
                    <input type="text" value={this.state.value} onChange={this.handleChange} />
                </label>
                <input type="submit" value="Submit" />
            </form>
            <a>{this.state.value}</a>
        );
    }
}

ReactDOM.render(
    <NameForm />,
    document.getElementById('root')
);

谁能告诉我哪里出错了。

【问题讨论】:

    标签: reactjs


    【解决方案1】:

    原因是,你从render方法返回了多个html元素,在一个组件的render中,你只能返回一个节点;例如,如果您有要返回的元素列表,则必须将它们包装在 divspan 或任何其他 component 中。

    不要忘记render() 基本上是functionFunctions 总是接受多个参数,而return 总是只有一个值。

    使用这个:

    return (
       <div>
           <form onSubmit={this.handleSubmit}>
             <label>
               Name:
               <input type="text" value={this.state.value} onChange={this.handleChange} />
             </label>
             <input type="submit" value="Submit" />
           </form>
           <a>{this.state.value}</a>
       </div>
    );
    

    【讨论】:

      猜你喜欢
      • 2014-10-12
      • 2021-09-08
      • 1970-01-01
      • 1970-01-01
      • 2018-09-23
      • 1970-01-01
      • 2018-06-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多