我正在嘗試將zurb顯示與表單合併爲反應組件。到目前爲止,下面的代碼可以正確地顯示模式窗體:如何使react.js與zurb一起玩好顯示模式表單
ModalForm = React.createClass({
handleSubmit: function(attrs) {
this.props.onSubmit(attrs);
return false;
},
render: function(){
return(
<div>
<a href="#" data-reveal-id="formModal" className="button">Add new</a>
<div id="formModal" className="reveal-modal" data-reveal>
<h4>Add something new</h4>
<Form onSubmit={this.handleSubmit} />
<a className="close-reveal-modal">×</a>
</div>
</div>
);
}
});
的Form
成分是非常標準:
Form = React.createClass({
handleSubmit: function() {
var body = this.refs.body.getDOMNode().value.trim();
if (!body) {
return false;
}
this.props.onSubmit({body: body});
this.refs.body.getDOMNode().value = '';
return false;
},
render: function(){
return(
<form onSubmit={this.handleSubmit}>
<textarea name="body" placeholder="Say something..." ref="body" />
<input type="submit" value="Send" className="button" />
</form>
);
}
});
問題:當我渲染模式窗體組件內的表單組件和輸入內容的形式輸入,則我在控制檯異常處看到Uncaught object
。這是一個堆棧:
Uncaught object
invariant
ReactMount.findComponentRoot
ReactMount.findReactNodeByID
getNode
...
如果我只是直接在父組件中渲染表單組件,那麼一切正常。請有人幫忙嗎?
我有同樣的問題 - 我的猜測是,基金會的情態動詞的操縱DOM和響應不能跟蹤。 – dbau
@dbau,你是對的。 – Voldy
我做了一個plunk來展示bug - http://plnkr.co/edit/Z6y5dI?p=preview。我也在幾個地方問過:https://github.com/facebook/react/issues/1703和 https://groups.google.com/forum/#!topic/reactjs/qaG_qRMo29o – dbau