Я очень новый, чтобы реагировать, и я просто мокрыю. Мне сложно понять, почему это не повторяет список. Вот мой код:Обновление состояния, но не повторное рендеринг в ReactJS?
app.jsx
var Hello = React.createClass({
getInitialState: function() {
return {
links: ['test ']
}
},
render: function() {
return <div className = "row">
<Submission linkStore = {this.state.links}/>
<List links = {this.state.links} />
</div>
}
});
var element = React.createElement(Hello, {});
ReactDOM.render(element, document.querySelector('.container'));
В моей submission.jsx У меня есть эта функция, чтобы выдвинуть данные в links
массив
handleSubmitClick: function() {
this.props.linkStore.push(this.props.text)
this.setState({text: ''})
console.log(this.props.linkStore)
}
Мой list.jsx выглядит следующим образом
module.exports = React.createClass({
getInitialState: function() {
return {
links: this.props.links
}
},
render: function() {
return <div>
{this.props.links}
</div>
}
});
Все работает по назначению, и я могу получить тест, чтобы показать его соответствующим образом ,
Я знаю, что это не будет отображаться как фактический список и что я должен создать компонент списка, чтобы отображать элементы в форме списка. Я просто пытаюсь запустить тесты, чтобы посмотреть, как все работает.
Привет, передать значение от детей до родителей, ваша потребность объявить функцию обратного вызова, который срабатывает в ребенке, чтобы обновить родительское состояние. Никогда не обновляйте 'props', но укажите и передайте данные child -> parent с обратными вызовами. – MacKentoch