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