0
這是我的代碼:發生反應,呈現部件
var Item = React.createClass({
render: function() {
return (
React.createElement('div', {},
React.createElement('span', {}, this.props.a),
React.createElement('span', {}, this.props.b)
)
);
}
});
var RParent = React.createClass({
getInitialState: function() {
return {messages: []};
},
addMess: function (data) {
var self = this;
self.state.messages.push({
a: data.a,
b: data.b
});
this.setState({messages: self.state.messages});
},
render: function() {
var messages = this.state.messages;
return (
React.createElement('div', {},
React.createElement(Item, messages))
);
}
});
var box = ReactDOM.render(React.createElement(RParent), document.getElementById('parentDiv'));
function render(a, b) {
box.addMess({
a: a,
b: b
});
}
數據被髮送到render
功能。看來,不知何故屬性沒有達到Item
的渲染功能,因爲他們似乎是undefined
當我嘗試打印到控制檯。
任何想法,爲什麼會發生這種情況?
問題是什麼都沒有呈現到「parentDiv」中。它只是空白。但是,在檢查元素時,我仍然可以看到它下面有兩個「span」子元素(它們不是在html或其他地方創建的)。但是這些跨度元素沒有內容。
' '什麼是一個和你正在分配給鍵B' –
@自由靈魂我刪除了其他答案。 a和b是與問題中相同的值。請參閱渲染功能。 –
@AmoolyaSKumar謝謝,只是一個簡單的問題,我還沒有嘗試過代碼(暫時無法使用),但我可以問我應該在哪裏將元素推送到'messages'數組中?在渲染事件?或'componentWillMount'事件?我的實現要求陣列的控制,所以我需要有一個陣列 – user3271166