redux
store 文件夹下:
index.js 文件
import reducer from './reducer'
import { createStore } from 'redux'
const store=createStore(reducer)
export default store
reducer.js 文件
//定义一个默认状态
const defaultState={
msg:'你好世界'
}
//导出一个函数
export default (state=defaultState,action)=> {
let newState=JSON.parse(JSON.stringify(state))
switch(action.type){
case 'changeMsg':
newState.msg=action.value
break;
default:
break;
}
return newState
}
// 使用
import {connect} from 'react-redux'
function App(props) {
return (
<>
<div>redux: {props.msg}</div>
<button onClick={props.changeMsg}> 点击修改redux</button>
</>
)
}
const mapStateToProps=(state)=>{
return {
msg:state.msg
}
}
const mapDispatchToProps=(dispatch)=>{
return{
changeMsg(){
const action ={type:'changeMsg',value:'hello world'}
dispatch(action)
}
}
}
export default connect(mapStateToProps,mapDispatchToProps)(App)
//重要 在主入口文件中挂载
import {Provider} from 'react-redux'
import store from './store'
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<Provider store={store}>
<App />
</Provider>
);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?