Я переношу по Backbone.View в React. Я мог бы что-то упустить, но я не могу понять идиоматический способ сделать состояние компонента зависимым от состояний своего брата. Например, скажем, что у меня есть такой компонент:
<Timeline>
<Page selected="true" onClick={this.handleClick} />
<Page selected="false" onClick={this.handleClick}/>
</Timeline>
И пусть говорят, что все handleClick делает это с setState({selected: true})
. Мой вопрос в том, как я должен убедиться, что состояние братьев и сестер этого компонента установлено в false до того, как установлено значение true.
Моим идеальным решением было бы прослушивать изменения в состоянии prop и forceRender подкомпоненты из компонента Timeline, но я не знаю, является ли это приемлемым подходом.
Я также ищу альтернативные способы реализации этого компонента, так как я понимаю, что рекомендуемый способ разложения компонентов заключается в том, чтобы сохранить их как можно более безграждан, чтобы обеспечить их могут быть повторно использованы в другом месте.