React-Redux知识点

两个重要部分:
1、Provider:这个组件能使你整个app都能获取到store中的数据。包裹在组件的最外层,使所有组件都能拿到store。接收store作为props,然后通过connect往下传递,这样react中任何组件都可以通过context获取到store。
2、connect:这个方法能够使你组件和store进行关联。

基本使用

react-redux还需要依赖于Redux中的store,所以还需要安装redux。
1、在src中创建reducer/index.js文件

//接收两个参数
//第一个参数是state
//第二个参数是action
InitialState={
count:0
}
export reducer =(state = InitialState,action)=>{
	switch(action.type) {
     case :"add_action":
     return (
		count:state.count+1,
)
       
     default:
        return state
} 
	
}

2、在src创建store/index.js
通过createStore方法把reducer导入进来

import {createStore} from 'redux'
import {reducer} from '../reducer'

export defult createStore(reducer)

3、app.js导入

import store from './store';
//导入Provider对div进行包裹,设置store属性
import Provide from 'react-redux'
import ComA from './pages/comA'
import ComB from './pages/comB'
function App(){
return 
(<Provider store={store}>
	<div className="App">
		<ComA/>
		<ComB/>
	</div>
</Provider>
)
}
export default App;

4、pages/comA/index.js

 class comA extends React.Component{
	 handleClick=()=>{
		this.props.sendAction()
	}
	render(){
		return(<button onclick={this.handleClick}> + </button>)
}
}
const mapDispatchtoProps=(dispatch)=>{
	return {
	sendAction:()=>{
	dispatch({
		type:"add_action",		
})
}
}
}
export default connect(null,mapDispatchtoProps)(comA)

5、pages/comB/index.js

class comB extends React.Component{
	render(){
		return(<div>{this.props.count}</div>)
}
}
const mapStatetoProps = state=>{
	return state;
}
export default connect(mapStatetoProps)(comB)

总结:connect 上两个方法
mapStateToProps 将 state 状态内容转化为 props 属性,这样组件就可以尝试获取到传递过来的属性对象了。
mapDispatchToProps组件与方法之间建立联系。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
```javascript // 导入ReactReactDOM模块 import React from 'react'; import ReactDOM from 'react-dom'; // 导入React Router模块中的BrowserRouter组件,用于实现路由功能 import { BrowserRouter as Router } from 'react-router-dom'; // 导入React Redux模块中的Provider组件,用于提供全局的store import { Provider } from 'react-redux'; // 导入自定义的store模块,用于管理应用的状态 import store from './store'; // 导入自定义的App组件,作为应用的根组件 import App from './App'; // 使用ReactDOM.render方法将根组件渲染到页面的根节点上 ReactDOM.render( // 使用Provider组件包裹根组件,将store作为props传递给Provider,使得整个应用都可以访问到store中的状态 <Provider store={store}> {/* 使用Router组件包裹根组件,实现路由功能 */} <Router> {/* 渲染根组件 */} <App /> </Router> </Provider>, // 指定根节点的id为root,将根组件渲染到该节点上 document.getElementById('root') ); ``` 该代码文件的作用是将根组件渲染到页面的根节点上,并且提供了全局的store和路由功能。具体注释如下: - 导入ReactReactDOM模块:用于使用ReactReactDOM相关的功能。 - 导入BrowserRouter:从React Router模块中导入BrowserRouter组件,用于实现浏览器路由功能。 - 导入Provider:从React Redux模块中导入Provider组件,用于提供全局的store。 - 导入store:从自定义的store文件中导入store对象,用于管理应用的状态。 - 导入App:从自定义的App文件中导入App组件,作为应用的根组件。 - 使用ReactDOM.render方法将根组件渲染到页面的根节点上。 - 使用Provider组件包裹根组件,将store作为props传递给Provider,使得整个应用都可以访问到store中的状态。 - 使用Router组件包裹根组件,实现路由功能。 - 渲染根组件。 涉及到的知识点有: - React:用于构建用户界面的 JavaScript 库。 - ReactDOM:用于在浏览器中渲染 React 元素。 - BrowserRouter:React Router 提供的一种路由模式,使用 HTML5 的 history API (pushState, replaceState 和 popstate 事件) 来保持 UI 和 URL 的同步。 - Provider:React Redux 提供的一个组件,用于将 store 暴露给应用中的其他组件。 - store:使用 Redux 创建的存储应用状态的对象。 - App:自定义的根组件,作为应用的入口点。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值