观察者模式解决组件间通信问题 使用观察者解决组件间通信,分成两步 在一个组件中,订阅消息 在另一个组件中,发布消息 发布消息之后,订阅的消息回调函数会执行,在函数中,我
观察者模式解决组件间通信问题使用观察者解决组件间通信,分成两步
发布消息之后,订阅的消息回调函数会执行,在函数中,我们修改状态,这样就可以实现组件间通信了。这就是reflux框架的实现。 react-reduxredux早期被设计成可以在各个框架中使用,因此在不同的框架中使用的时候,要引入相应的插件 在react中使用要引入react-redux,因此我们要安装这个模块 npm install react-redex react-redux提供了一个方法和一个组件: connect方法为组件的属性拓展store中的信息(state,dispatch)的方法 connect方法有两个参数,都是函数 第一个参数表示如何为组件的属性拓展store中的state数据 参数是state 返回值是对象,就是为属性拓展的数据 第二个参数表示如何为组件的属性拓展store中的dispatch方法 参数就是dispatch 返回值是对象,就是为属性拓展的方法 connect方法的返回值是一个新方法,就是为组件拓展的方法。 参数是组件 返回值是新组件,这个新的组件就拥有了state数据和dispatch方法了 Provider组件用来为应用程序提供store对象的组件 store属性,就是绑定添加的store Provider组件中我们可以渲染应用程序组件 在应用程序中,这些被connect方法处理的组件就会接收store中的数据了
想让其它组件具有store中的state和dispatch,有两种途径:
路由从14版本开始,react路由为了实现react多端适配的理想,将react路由拆分成不同类型的。 例如在web端要使用web端路由,在native端要使用nativate路由等等 我们开发web端,要安装react-router-dom路由
使用路由使用路由分成三步: 第一步 定义路由渲染容器元素(渲染位置)
第二步 定义路由的渲染方式(规则) 常用的有两种:
第三步 用render方法,渲染第二步得到的结果 默认路由在react路由中,让path匹配*,即可定义默认路由 由于??*??匹配的非常广,因此我们常常把它配置在最后面 路由重定向我们通过Redirect组件定义重定向路由 from定义匹配的规则 to定义重定向的规则 获取路由参数在react中,我们??使用路由的组件??,会自动拓展一些属性 history表示对全局的history历史对象的模拟 location表示对全局的location对象的模块,但是只是处理路由这一部分 match表示路由数据对象(解析后的数据,因此工作中常用) 其他没有通过路由渲染的组件是不具备这些信息,想具有这些信息,我们可以通过组件间通信的技术,依次传递这些数据信息 路由导航我们通过Link组件定义路由导航 通过to属性定义导航地址,即使是hash路由也不要加# 默认渲染成a标签 举例:
|
2021-06-04
2019-01-10
2019-02-17
2021-09-12
2021-09-30