Aynı senaryo her yere yayılmamışsa, React'in bağlamını kullanabilirsiniz, özellikle durum yönetimi kitaplıklarının getirdiği tüm ek yükü tanıtmak istemiyorsanız. Ayrıca, öğrenmesi daha kolaydır. Ancak dikkatli olun, aşırı kullanabilirsiniz ve kötü kod yazmaya başlayabilirsiniz. Temel olarak, bir kapsayıcı bileşen tanımlarsınız (bu durumu sizin için tutacak ve tutacak), bu veri parçasını çocuklarına yazmak / okumakla ilgilenen tüm bileşenleri çocuklara dönüştürür (mutlaka çocukları değil)
https://reactjs.org/docs/context.html
Bunun yerine düz Reaksiyonu düzgün bir şekilde kullanabilirsiniz.
<Component5 onSomethingHappenedIn5={this.props.doSomethingAbout5} />
Bileşen 1'e kadar doSomethingAbout5'i geçin
<Component1>
<Component2 onSomethingHappenedIn5={somethingAbout5 => this.setState({somethingAbout5})}/>
<Component5 propThatDependsOn5={this.state.somethingAbout5}/>
<Component1/>
Bu yaygın bir sorunsa, uygulamanın tüm durumunu başka bir yere taşımayı düşünmeye başlamalısınız. Birkaç seçeneğiniz var, en yaygın olanları:
https://redux.js.org/
https://facebook.github.io/flux/
Temel olarak, bileşeninizdeki uygulama durumunu yönetmek yerine, durumu güncellemek için bir şey olduğunda komutlar gönderirsiniz. Bileşenler, durumu bu kaptan da alır, böylece tüm veriler merkezileştirilir. Bu, artık yerel durumu kullanamayacağınız anlamına gelmez, ancak bu daha gelişmiş bir konudur.