3
我正在創建約1000多個svg
元素。當涉及到刪除,更新或選擇一個元素時,它在時間上非常昂貴。因爲當我刪除或更新特定svg
元素,它與re-renders
內的所有一百孩子的千元整父節點。這裏是添加元素和渲染的代碼。我應該在React中遵循什麼設計模式?
var App = React.createClass({
getInitialState: function() {
return {
propsList: []
};
},
addProps: function(props) {
var propsList = this.state.propsList.concat([props]);
this.setState({ propsList: propsList });
},
render: function() {
var components = this.state.propsList.map(function(props) {
return React.createElement('g', props);
});
return React.createElement('div', null, components);
}
});
ReactDOM.render(
React.createElement(App, null),
document.getElementById('svg')
);
請提出一個design pattern
可以解決我的問題。所以當我添加或刪除一個元素時,父節點不需要re-render
,因爲它包含了其中的數千個孩子。