我是新的反应。反应未捕获的语法错误:意外的代币
我把一个调试器放在组件中的一个函数中。我做了
this.setState({this.state.ID: null});
,我回来一个SyntaxError
阵营未捕获的SyntaxError:意外的标记
我在做什么错在这里?
我想要做的是清除窗体上的窗体值。
Search = React.createClass({
ResetForm: function() {
// I would like to clear all default values
this.setState({
defaultValues: {
fields: this.state.fields
},
ignoreDefault: false
});
},
render: function() {
return (
<div className="card-body with-padding-bottom-0">
<form id={this.formId}>
<div id="fields" className="usa-grid-full search">
<Fields ref={(fields) => { this.fields = fields; }} ddl_id='search_card_type' options={ this.getProp('options')} fields={this.getProp('fields')} updateParentState={this.updateStateByField} defaultFieldValues={this.getProp('defaultValues')} ignoreDefault={this.state.ignoreDefault}></Fields>
</div>
<div className="usa-grid-full with-margin-top-10 validation-div">
<div id="search_card_search_button_container" className="usa-width-one-whole">
<input id="reset_form_button" type="button" name="search" value="Reset Form" onClick={this.ResetForm}/>
</div>
</div>
</form>
</div>
);
}
});
为什么你有一个状态的状态?它应该只是this.setState({fields:this.state.fields});因为您可以修改字段对象以包含多个键 - >值,所以defaultValues是多余的。 – fungusanthrax
当我做'this.setState({fields:this.state.fields});'我得到一个** ** undefined ** – MZaragoza
它看起来不像你曾经定义的领域。我不熟悉ES6,但应该有一个类似于getInitialState的函数(return {fields:this.state.fields};); – fungusanthrax