私はReact(Angular 1から来て)にはかなり新しく、ややそれを使って遊んでいます。多次元オブジェクトをループしてDOMにバインドするテストスクリプトがあります。Reactコンポーネントを再レンダリングする正しい方法は?
次に、setTimeoutでラップされたオブジェクトに新しい項目を追加します。 ReactDOM.renderをReactコンポーネントを再レンダリングする最善の方法と呼んでいますか?
var items = [
{ name: 'Matt', link: 'https://google.com' },
{ name: 'Adam', link: 'https://bing.com' },
{ name: 'Luke', link: 'https://yahoo.com' },
{ name: 'John', link: 'https://apple.com' }
];
var RepeatModule = React.createClass({
getInitialState: function() {
return { items: [] }
},
render: function() {
var listItems = this.props.items.map(function(item) {
return (
<li key={item.name}>
<a className='button' href={item.link}>{item.name}</a>
</li>
);
});
return (
<div className='menu'>
<h3>The List</h3>
<ul>
{listItems}
</ul>
</div>
);
}
});
ReactDOM.render(<RepeatModule items={items} />, document.getElementById('react-content'));
setTimeout(function() {
var newline = { name: 'Added item', link: 'https://amazon.com' };
items.push(newline);
ReactDOM.render(<RepeatModule items={items} />, document.getElementById('react-content'));
}, 2000);
は感謝:)