Bir listedeki birden fazla akordeon işlemini yöneten bir Tepki bileşenim var, ancak çocukları güncelleştirdiğimde, React dev araçlarında, güncelleştirilen metni gösteriyordu, ancak görünümde/ui'de görünmüyordu güncelleştirme. Lütfen tavsiye. Tepki bileşen görünümü güncelleştirmeyi almıyor
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>
);
}
Düzenleme:
bileşen componentWillReceiveProps
olayı tetikledi, ama hala güncellenmedi asla. Bu çözmeye çalışmakla gün sonra