ループする子コンポーネントのrenderメソッド内に定義すると、何度もループされるためあまり良くないでしょうか?
render 内に定義するという状況があまりよくわからないですが、Component配下ではあっても render 内に定義しているわけではないのではないでしょうか。
敢えて render 内に定義すると
javascript
1var Timer = React.createClass({
2 // 略
3 render: function() {
4 var divStyle = {
5 color: 'white',
6 };
7 return (
8 <div style={divStyle}>Seconds Elapsed</div>
9 );
10 }
11});
12
13ReactDOM.render(<Timer />, mountNode);
のようには書けますが、適切ではないと思います。
対策として、親コンポーネントで定義してpropsで渡す方法を考えていますが、どちらが良いでしょうか?
上述の内容とも関連しますが、props でコード例の divStyle
Object を渡すメリットはありません。逆に、Component と Style が分離してしまうので inline-style のメリットが薄れるのではないでしょうか。
追記: イベントハンドラのメソッドに関してもどちらのコンポーネントに定義すべきか、同様に悩んでいます。
これも同様なのですが、メソッドを render() 内に定義することは通常ないと思いますので、親 Component の操作に関するメソッドなら親Componentに定義して子に props として渡す。子の Component の操作に関するメソッドなら子の Component に渡すという判断で宜しいと思われます。
Component 全体を提示していただくと具体的なコメントができるかも知れません。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。