Tôi có một thành phần React quản lý nhiều accordion trong một danh sách, nhưng khi tôi cập nhật một đứa trẻ, trên công cụ React dev, nó đã hiển thị văn bản cập nhật nhưng trên view/ui, nó không cập nhật. Làm ơn cho lời khuyên.Phản ứng thành phần xem không nhận được cập nhật
var AccordionComponent = React.createClass({
getInitialState: function() {
var self = this;
var accordions = this.props.children.map(function(accordion, i) {
return clone(accordion, {
onClick: self.handleClick,
key: i
});
});
return {
accordions: accordions
}
},
handleClick: function(i) {
var accordions = this.state.accordions;
accordions = accordions.map(function(accordion) {
if (!accordion.props.open && accordion.props.index === i) {
accordion.props.open = true;
} else {
accordion.props.open = false;
}
return accordion;
});
this.setState({
accordions: accordions
});
},
componentWillReceiveProps: function(nextProps) {
var accordions = this.state.accordions.map(function(accordion, i) {
var newProp = nextProps.children[i].props;
accordion.props = assign(accordion.props, {
title: newProp.title,
children: newProp.children
});
return accordion;
});
this.setState({
accordions: accordions
});
},
render: function() {
return (
<div>
{this.state.accordions}
</div>
);
}
Edit:
Các thành phần đã kích hoạt componentWillReceiveProps
sự kiện, nhưng nó vẫn không bao giờ được cập nhật.
Cảm ơn