renderContents() {
return this.state.page.page_content.map((c, i) => {
return (<ContentItem
key={ i }
content={ c }
/>);
});
}
здесь ваш код - key={i}
я не изменяюсь, поэтому он не будет перерисовывать компонент - если вы хотите перерисовать компонент - пожалуйста, убедитесь, что - ключ должен измениться.
renderContents() {
return this.state.page.page_content.map(c => {
return (<ContentItem
key={ c }
content={ c }
/>);
});
}
c является содержимым - если оно изменится, Компонент будет повторно визуализировать
this.setState({ page: this.state.page })
это неправильно - вы пытаетесь снова установить то же значение в той же переменной.
class Form extends Component {
//
// .... other initialization code and logic
//
updatePositions() {
//
// re-order this.state.page.page_contents
//
this.setState({ page: newValueFromAPI.page });
}
render() {
const { page: { page_content } } = this.state
return (
<div className="row">
<div className="medium-12 columns">
{ page_content.length > 0 && (
page_content.map(c => <ContentItem key={c} content={c}/>)
)}
</div>
</div>
);
}
}