在将redux之前我们先回顾一下react的数据流传递方式,因为react是V层框架,所以它需要数据流来进行支撑。
从上图可以看出,H和E两个组件状态、信息可以直接进行传递。B和E、A和B也可以直接进行组件状态、信息的传递。但是H里的状态想要传给B就必须通过E来进行传送。A里面的数据想要给H传送就必须通过B、E两个组件。属性this.props用于父子组件之间传递属性;属性this.state用于表示组件本身的状态,当state变化时,该组件会根据最新的state正确渲染出来。
组件少的话,还可以进行使用,当组件数量非常庞大的时候,维护起来是相当的困难。
随着单页面应用的普及,web app内部需要管理的状态越来越多,这些状态可能来自服务器端,用户输入的数据,用户交互数据,当前UI状态,本地的缓存数据等等。如何能够有条理的管理这些数据,成为前端开发中一个难题。这就需要我们的redux来解决这个问题了。