为了账号安全,请及时绑定邮箱和手机立即绑定

【学习打卡】第9天 实战旅游项目/Vue改写

标签:
Html5

学习打卡】第9天 实战旅游项目/Vue改写

课程名称:[React 17/18 系统精讲 结合TS打造旅游电商平台]

课程章节: 理解React/redux设计模式

主讲老师:阿莱克斯

课程内容:

  1. 【概念理解】什么是redux?
  2. 创建state
  3. 【访问state】获取store数据

课程收获:

设计模式
  • MVC MVVM MV* Redux
    • redux npm install redux
      • 剥离组件数据 state
      • 统一存放在store中
      • 组件订阅store获得数据
      • store同步推送数据更新
    • redux 工作流
      • 创建 store Reducer 初始化数据 react组件订阅store store会推送数据 更改数据通过Actions分发传递数据给Reducer 更新数据给store
为类组件使用router6支持
import { useNavigate, NavigateFunction } from "react-router-dom";
import React from "react";
export interface RouteComponentProps {
  navigate: NavigateFunction;
}
export const withRouter = (Component: React.FC) => {
  // 获取类组件的参数 变成函数式
  return (props: any) => {
    const navigate = useNavigate();
    return <Component navigate={navigate} {...props} />;
  };
};
初始化store
import { createStore } from "redux";
const store = createStore(languageReducer);
继承接口 达到复用
// 使用继承
interface State extends LanguageState {}
通过循环和三元运算符进行使用
          <Dropdown.Button
            overlay={
              <Menu
                items={this.state.languageList.map((m) => {
                  return { key: m.code, label: m.name };
                })}
              />
            }
            icon={<GlobalOutlined />}
            style={{ marginLeft: 15 }}
          >
            {this.state.language === "zh" ? "中文" : "English"}
          </Dropdown.Button>

class写法和fc写法 有点绕了 哈哈
图片描述

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消