获取错误消息:意外的令牌

时间:2017-04-15 06:33:55

标签: reactjs

我在react中尝试了这段代码,但我收到了这个错误:

  

意外令牌。

我试图将bindhtml放在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') ); 一样。

代码:

<script type="text/javascript">
function getDefinedCss(s){
    if(!document.styleSheets) return '';
    if(typeof s== 'string') s= RegExp('\\b'+s+'\\b','i'); // IE 
capitalizes html selectors

    var A, S, DS= document.styleSheets, n= DS.length, SA= [];
    while(n){
        S= DS[--n];
        A= (S.rules)? S.rules: S.cssRules;
            for(var i= 0, L= A.length; i<L; i++){
           tem= A[i].selectorText? [A[i].selectorText, 
A[i].style.cssText]: [A[i]+''];
            if(s.test(tem[0])) SA[SA.length]= tem;
        }
    }
    return SA.join('\n\n');
}
       console.log(getDefinedCss ('ui-helper-hidden'));

                  </script>

有人能告诉我哪里出错了。

1 个答案:

答案 0 :(得分:4)

原因是,您从html方法返回多个render元素,在组件的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>
);