最好将
ref视为回调属性,并且不再依赖于
refsObject。如果确实使用
refs对象,请避免访问
refs后代组件。您应该将其
refs视为私有访问器,而不应将其视为组件API的一部分。仅将组件实例上公开的方法视为其公共API。
对于这种情况,我建议从Submit事件中获取表单,并根据需要遍历其子表单元素。添加
name属性,因为这是在标准表单提交中识别表单元素的方式,因此您完全不需要
refs:
var ActivityForm = React.createClass({ handleSubmit: function(e) { e.preventDefault(); var form = e.target; // Use the standard [`HTMLFormElement.elements`][1] collection // // [1]: https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/elements var content = form.elements['content'].value; // do more things with other named form elements }, render: function() { return ( <div className="new-activity"> <h3>New Activity</h3> <form onSubmit={this.handleSubmit}> <textarea name='content' /> <br /> <label>Category</label> <ActivityFormCategoryDropdown /> <br /> <input type="submit" value="Add Activity" /> </form> </div> ); }});
2016年9月21日更新:根据 字符串属性文档的refs
指导,修订建议以避免对象全部在一起。ref
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)