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

做微商自己建网站合适吗宜兴淘宝网站建设

做微商自己建网站合适吗,宜兴淘宝网站建设,河北手机版建站系统开发,东莞网站的制作设计1. 认识Redux Toolkit Redux Toolkit 是官方推荐的编写 Redux 逻辑的方法。 通过传统的redux编写逻辑方式#xff0c;会造成文件分离过多#xff0c;逻辑抽离过于繁琐#xff08;具体可看上篇文章 Redux详解一#xff09;#xff0c;React官方为解决这一问题#xff0c;推…1. 认识Redux Toolkit Redux Toolkit 是官方推荐的编写 Redux 逻辑的方法。 通过传统的redux编写逻辑方式会造成文件分离过多逻辑抽离过于繁琐具体可看上篇文章 Redux详解一React官方为解决这一问题推荐使用Redux Toolkit第三方包将redux逻辑聚合到一个文件中实现解决上面的问题 Redux Toolkit 也成为 “RTK”。 npm install reduxjs/toolkit Redux Toolkit的核心API主要是如下几个 configureStore: 包装createStore以提供简化的配置选项和良好的默认值。它可以自动组合你的 slice reducer添加你提供的任何 Redux 中间件redux-thunk默认包含并启用 Redux DevTools Extension。 createSlice:  接受 reducer 函数的对象、切片名称和初始状态值并自动生成切片 reducer 并带有相应的 actions 。 createAsyncThunk:  接受一个动作类型字符串和一个返回承诺的函数并生成一个pending/fulfilled/rejected基于该承诺分派动作类型的 thunk相当于对异步操作的reducer处理例如网络请求。 2. createSlice的使用 createSlice 主要包含如下几个参数: name用户标记slice的名词; initialState 初始化; reducers 相当于之前的reducer函数; const categorySlice createSlice({name: category,initialState: {category: hello world,banners: [],recommends: []},reducers: {changeCategory(state, action) {state.category action.payload}} })export const { changeCategory } categorySlice.actionsexport default categorySlice.reducer 3. store的创建 configureStore 用于创建store对象常见参数如下 reducer将slice中的reducer可以组成一个对象传入此处; middleware 可以使用参数传入其他的中间件; devTools 是否配置devTools工具默认为true; import { configureStore } from reduxjs/toolkitimport counterReducer from ./features/counter import homeReducer from ./features/home import userInfoReducer from ./features/userInfo import categoryReducer from ./features/category/category// react-toolkit工具包使用方式 const store configureStore({reducer: {counter: counterReducer,home: homeReducer,userInfo: userInfoReducer,category: categoryReducer} })export default store 4. Redux Toolkit的异步操作 以往对于redux中的异步操作通过redux-thunk中间件让dispatch中可以进行异步操作。 Redux Toolkit默认已经给我们继承了Thunk相关的功能createAsyncThunk 例如 import { createSlice, createAsyncThunk } from reduxjs/toolkit import axios from axiosexport const fetchHomeMultidataActions createAsyncThunk(fetch/homeMultidata, async () {const res await axios.get(http://123.207.32.32:8000/home/multidata)return res.data }) 当createAsyncThunk创建出来的action被dispatch时会存在三种状态 pendingaction被发出但是还没有最终的结果 fulfilled 获取到最终的结果有返回值的结果 rejected 执行过程中有错误或者抛出了异常 类似于promise, 参考promise的执行状态 Redux Toolkit在createSlice中通过extraReducer参数可以监听这些状态的过程 import { createSlice, createAsyncThunk } from reduxjs/toolkit import axios from axiosexport const fetchHomeMultidataActions createAsyncThunk(fetch/homeMultidata, async () {const res await axios.get(http://123.207.32.32:8000/home/multidata)return res.data })const categorySlice createSlice({name: category,initialState: {category: hello world,banners: [],recommends: []},reducers: {changeCategory(state, action) {state.category action.payload}},extraReducers: {[fetchHomeMultidataActions.pending](state, action) {console.log(pending);},[fetchHomeMultidataActions.fulfilled](state, {payload}) {state.banners payload.data.banner.liststate.recommends payload.data.recommend.list},[fetchHomeMultidataActions.rejected](state, action) {console.log(rejected);}} })export const { changeCategory } categorySlice.actionsexport default categorySlice.reducer extraReducer还有另外一种写法链式调用 5. redux Toolkit在react的运用 通过Redux Toolkit创建store对于store的数据使用与传统的store数据获取方式一样Redux Toolkit只是在store的初始化与逻辑编写进行了封装。 category.jsx import React, { PureComponent } from react // import { fetchHomeMultidataActions} from ../../store/features/home import { changeCategory, fetchHomeMultidataActions } from ../../store/features/category/category import { connect } from react-reduxexport class Category extends PureComponent {componentDidMount() {// 抽离axios到reduxthis.props.fetchHomeMultidata()}changeCategoryName(name) {this.props.changeCategory(name)}render() {const { userInfo, category, banners, recommends } this.propsreturn (divCategory:h2userInfo: name: {userInfo.name} age: {userInfo.age}/h2h2category: name: {category}/h2button onClick{ e this.changeCategoryName(你好 世界)}修改/buttondivh2banners数据/h2ul{banners.map((item, index) {return li key{index}{item.title}/li})}/ul/divdivh2recommends数据/h2ul{recommends.map((item, index) {return li key{index}{item.title}/li})}/ul/div/div)} }const mapStateToProps (state) ({userInfo: state.userInfo.userInfo,category: state.category.category,banners: state.category.banners,recommends: state.category.recommends })const mapDispatchToProps (dispatch) ({// changeBanners(banners) {// dispatch(changeBannersActions(banners))// },// changeRecommends(recommends) {// dispatch(changeRecommendsActions(recommends))// }fetchHomeMultidata() {dispatch(fetchHomeMultidataActions())},changeCategory(name) {dispatch(changeCategory(name))} })export default connect(mapStateToProps, mapDispatchToProps)(Category)
http://www.huolong8.cn/news/44609/

相关文章:

  • 深圳外贸网站制作价格网站上文章加入音乐是怎么做的
  • HTML怎么做网站目录wordpress页脚小工具
  • 宝安网站改版明月wordpress
  • phpcms网站模版下载专业做网站较好的公司广州
  • 中国中小企业网站建设情况网上教学网站建设
  • 网站开发的流程 知乎标志logo设计
  • 成都营销网站制作新县住房和城乡规划建设网站
  • 建站推广注册有限公司需要什么资料
  • 手机制作网站app网站管理规划方案
  • 中文企业网站html模板企查猫
  • 大型公司建站专业新站整站快速排名公司
  • 手工做女宝宝衣服的网站网络营销公司组织架构
  • 高端企业网站建站深圳h5网站制作
  • 工商银行建设银行招商银行网站品牌推广方式有哪些
  • 网站必须做商标么网站加强阵地建设与管理
  • 建站 wordpress网站后台更新 前台为啥没反应
  • 优秀网站页面设计图片创建网站 英文
  • 网站设计和经营wordpress eclipse
  • 分析网站设计对网站搜索引擎友好性的影响企业管理工具
  • 网站开发的合同范本wordpress比织梦安全吗
  • 成都外贸网站建设费用江苏有什么网站找工程建设人员
  • 网站建设的步骤过程文库wordpress wp editor
  • 网站开发好学房产网址
  • 青岛seo整站优化桔子seo
  • 企业数据查询网站东莞seo计费管理
  • 自己建个购物网站网站建设朋友圈素材
  • 网站建设基础书本企业网站首页开发
  • 陕西省建设工程安全协会网站开放平台作用发挥明显
  • 网站301重定向的意义黄骅港务
  • 怎么从阿里巴巴做网站苏州高新区核酸检测