私はあなたのコードに根本的な問題があると思います。あなたは、コンポーネントの関数の1つを呼び出すような外部関数 'render'を通して、あなたの反応コンポーネントに 'a'と 'b'を渡そうとしています。これは間違っています。
「a」と「b」をあなたのReactコンポーネントRParentにpropsとして渡す必要があります。 'a'と 'b'の値が変わるたびに、親コンポーネントが自動的に再レンダリングされます。
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: []};
},
,
render: function() {
var messages = this.props.messages;
return (
React.createElement('div', {},
React.createElement(Item, messages))
);
}
});
ReactDOM.render(
(<RParent messages= {'a': a, 'b': b} />)
, document.getElementById('parentDiv'));
' 'あなたは鍵に割り当てようとしているものは何ですか? –
@ free-soul他の答えを削除しました。 aとbは質問と同じ値です。レンダリング機能をご覧ください。 –
@AmoolyaSKumarありがとう、ちょっとした質問ですが、私はまだコードを試していませんが(しばらくはできません)、どこで要素を 'messages'配列にプッシュする必要がありますか?レンダーイベントでは?または 'componentWillMount'イベントですか?私の実装ではコントロールの配列が必要なので配列も必要ですね – user3271166