当前位置: 首页 > news >正文

网站怎么做图片室内设计效果图在哪里找

网站怎么做图片,室内设计效果图在哪里找,企业咨询合同范本通用版,百度不让访问危险网站怎么办1. 环境搭建 插件安装#xff1a;Redux Toolkit和react-redux npm i reduxjs/toolkit react-redux2、 store目录结构设计 集中状态管理的部分会单独创建一个store目录#xff08;在src下#xff09;应用通常会有很多个子模块#xff0c;所以还会有个modules目录#x…1. 环境搭建 插件安装Redux Toolkit和react-redux npm i reduxjs/toolkit react-redux2、 store目录结构设计 集中状态管理的部分会单独创建一个store目录在src下应用通常会有很多个子模块所以还会有个modules目录在内部编写业务分类的子storestore中的入口文件index.js的作用是组合modules中的所有子模块并导出store 3、使用React Toolkit创建counterStore 创建各模块的store counterStore.js import { createSlice } from reduxjs/toolkit;// 创建store const counterStore createSlice({name: counter,// 初始化stateinitialState: {count: 0},// 修改状态的方法 reducers: {inscrement(state) {state.count;},decrement(state) {state.count--;}} })// 结构出actionCreater函数 const {inscrement, decrement} counterStore.actions // 获取reducer const reducer counterStore.reducer// 以按需导出的方式导出actionCreater export {inscrement, decrement} // 以默认导出的方式导出reducer export default reducer在index,js中组合store import { configureStore } from reduxjs/toolkit; // 导入子模块reducer import counterReducer from ./modules/counterStoreconst store configureStore({reducer: {counter: counterReducer} })export default store4、为React注入store React-redux负责把Redux和redux连接起来内置Provider组件通过store参数把创建好的store实例注入到应用中。 import React from react; import ReactDOM from react-dom/client; import ./index.css; import App from ./App; import reportWebVitals from ./reportWebVitals; import store from ./store; import { Provider } from react-redux;const root ReactDOM.createRoot(document.getElementById(root)); root.render(React.StrictModeProvider store{store}App //Provider/React.StrictMode );reportWebVitals();5、在React组件中使用store中的数据 使用useSelector钩子函数把store中的数据映射到组件中 import React from react; import ./App.css;import { useSelector } from react-redux;function App() {// 这里state.counter和store中的reducer.counter是对应的const {count} useSelector(state state.counter);return (React.Fragmentdiv{count}/div/React.Fragment); }export default App; 6、React组件中修改store中的数据 引入useDispatch钩子函数作用生成提交的action对象的dispatch函数 import React from react; import ./App.css;import { useDispatch, useSelector } from react-redux;// 倒入actionCreater import {inscrement, decrement} from ./store/modules/counterStorefunction App() {// 这里state.counter和store中的reducer.counter是对应的const {count} useSelector(state state.counter);const dispatch useDispatch()return (React.Fragmentdiv{/* 调用dispatch提交action对象 */}button onClick{() dispatch(decrement())} - /buttonspan{count}/spanbutton onClick{() dispatch(inscrement())} /button/div/React.Fragment); }export default App;7、在action中传参 在reducers的同步修改方法中添加action对象参数在调用actionCreator时传递参数参数会被传递到action对象的payload属性上 定义方法通过payload获取传入的参数 import { createSlice } from reduxjs/toolkit;// 创建store const counterStore createSlice({name: counter,// 初始化stateinitialState: {count: 0},// 修改状态的方法 reducers: {inscrement(state) {state.count;},decrement(state) {state.count--;},addToNum (state, action) {// payload是固定属性state.count action.payload}} })// 解构出actionCreater函数 const {inscrement, decrement, addToNum} counterStore.actions // 获取reducer const reducer counterStore.reducer// 以按需导出的方式导出actionCreater export {inscrement, decrement, addToNum} // 以默认导出的方式导出reducer export default reducer使用 button onClick{() dispatch(addToNum(10))} add To 10/buttonbutton onClick{() dispatch(addToNum(20))} add To 20/button8、异步代码 store写法不变单独封装一个函数返回一个新函数在新函数中封装异步请求获取数据并调用同步actionCreater传入异步数据生成一个action对象并使用dispatch提交 channelStore.js import { createSlice } from reduxjs/toolkit; import axios from axios;const channelStore createSlice({name: channel,initialState: {channelList: []},reducers: {setChannels(state, action) {state.channelList action.payload}} })// 异步请求部分 const {setChannels} channelStore.actionsconst fetchChannelList () {return async (dispatch) {const res await axios.get(http://geek.itheima.net/v1_0/channels)dispatch(setChannels(res.data.data.channels))} }const reducer channelStore.reducer export {fetchChannelList} export default reducer 组件中dispatch的写法保持不变 store/index.js不变 import { configureStore } from reduxjs/toolkit; // 导入子模块reducer import counterReducer from ./modules/counterStore import channelReducer from ./modules/channelStoreconst store configureStore({reducer: {counter: counterReducer,channel: channelReducer} }) export default store在组件中使用 import React, { useEffect } from react; import { useDispatch, useSelector } from react-redux;// 倒入actionCreater import { fetchChannelList } from ./store/modules/channelStore;function App() {const {channelList} useSelector(state state.channel)const dispatch useDispatch()useEffect(() {dispatch(fetchChannelList())}, [])return (React.Fragmentdiv{/* 调用dispatch提交action对象 */}ul{channelList.map(item li key{item.id}{item.name}/li)}/ul/div/React.Fragment); }export default App;
http://www.hkea.cn/news/14291366/

相关文章:

  • 在什么文件中加入什么代码告诉搜索引擎蜘蛛网站地图的文件位置?上海智能模板建站
  • 荥阳网站建设多少钱求网站晚上睡不着2021
  • 查询关键词密度网站的网址有哪些小众电商平台有哪些
  • 常德经开区网站官网wordpress安装系统
  • 规划电子商务网站网站建设公司设计网页的工具
  • 莆田建站服务鼎豪网络网站建设
  • 网站建设项目收获网站开发需要代码吗
  • 邢台网站建设有哪些自己怎么创网站
  • 我为本公司想建个网站长沙城乡建设部网站首页
  • 网站落地页和普通网页网页设计作业5000字
  • 可以做动画的网站都有哪些厦门网站建设网络推广
  • 揭阳自助建站wordpress wechat
  • 服务器搭建网站域名配置广州专业做网站
  • 网站建设与维护设计报告沈阳网站制作公司和服务器
  • 宁波做网站网站建设和微信小程序
  • 合肥做个网站什么价格便宜wordpress简约新闻自媒体主题
  • 建设企业网站目的石家庄网站服务
  • 福州公司网站建设一定要用主流程序php语言义乌外贸论坛
  • 福建住建设厅官方网站关于建设学校网站的报告书
  • 网站开发代码用什么软件杭州 app开发公司
  • 怎么网站建设公司好看简洁的logo
  • 个人网站wordpress网络运维工程师需要掌握的技能
  • 大余网站wordpress模板调用自定义插件
  • 网站开发用什么图片格式最好国内十大搜索引擎排名
  • 网站建设软著网站改版建设公司
  • 网站seo教程初中学历怎么提升大专学历
  • 国家建设管理信息网站张家界市建设工程造价管理站网站
  • 建设项目环保验收平台网站优化网站最好的刷排名软件
  • 自适应网站建设特点石家庄网络开发公司
  • 南昌品牌网站建设天津网站的优化