美文网首页
dva学习记录

dva学习记录

作者: Tauruse | 来源:发表于2018-01-18 11:10 被阅读107次

参考地址:Ant Design项目实战
一起学react (1) 10分钟 让你dva从入门到精通
无状态组件(Stateless Component) 与高阶组件
dva中 connect()()的用法。

最近正在学习Ant Design,使用的是dva

一个基于 React 和 Redux 的轻量应用框架,概念来自 elm,支持 side effects、热替换、动态加载、react-native、SSR 等,已在生产环境广泛应用。

之前看过一点点的redux,还不是很了解,刚好一起学习

1. Stateless Component(无状态组件)

首先这个写法之前在了解React时没有接触过,具体的介绍和写法参考链接一起学react (1) 10分钟 让你dva从入门到精通,这里列出两段代码的对比(区别是箭头函数):

使用箭头函数时:

const Products = ({
    dispatch,
    products
}) => {
    function handleDelete(id) {
        dispatch({
            type: 'products/delete',
            payload: id,
        });
    }
    return (
        <div>
            <h2>List of Products</h2>
            <ProductList onDelete={handleDelete} products={products} />
        </div>
    );
}

不使用箭头函数时:

class Products extends React.Component {
    constructor() {
        super();
        this.handleDelete = this.handleDelete.bind(this);
    }
    handleDelete(id) {
        this.props.dispatch({
            type: 'products/delete',
            payload: id
        });
    }
    render() {
        return (
            <div>
                <h2>List of Products</h2>
                <ProductList onDelete={this.handleDelete} products={this.props.products} />
            </div>
        );
    }
}

2. connect的用法

代码是这么写的:

export default connect(({ products }) => ({
  products,
}))(Products);

解释可以参考dva中 connect()()的用法。
大致可以理解为:

const bindToComponent = connect()
export default bindToComponent(Products)

或者是

function connect(props) {
    return function(component) {
        return <component ...props/>
    }
}

connect主要是将model和component连接起来

未完待续

相关文章

  • dva学习记录

    参考地址:Ant Design项目实战一起学react (1) 10分钟 让你dva从入门到精通无状态组件(Sta...

  • dva.js和umi.js

    最近公司的项目有用到dva框架,这里做下学习总结;菜鸟一枚,如有错误,欢迎指正。 dva是什么 官网:dva.js...

  • Dva最不佳实践

    前言 由于之前写了几个dva的项目,近期没怎么用有些遗忘了,写个小结记录一下。 dva是基于react、react...

  • dva入手指南

    因为积分商城项目接触dva搭建的项目,由于和以前使用vue框架不同,边完成需求,边学习框架,现对学习过程做一个记录...

  • 初识redux-saga

    最近项目用了dva,dva对于异步action的处理是用了redux-saga,故简单学习了下redux-saga...

  • axios ajax请求实例

    说明 该实例是以dva命令创建的项目:$ dva new dva-quickstart技术栈:dva + axio...

  • Dva 基本操作

    一块学习,大家相互参考。 快速上手 #安装 dva-cli 通过 npm 安装 dva-cli 并确保版本是 0....

  • dva - Route Components

    dva实践 学习react,快速入门的练习 创建引用可以直接使用dva-cli的各项命令快速创建项目. 项目开始前...

  • Ant Design项目实战

    创建新应用:dva new dva-quickstartcd dva-quickstartnpm start 使用...

  • dva.js 解读

    学习了dva,感觉好棒,在使用redex、redux-thunk中的中的疑问在dva中都有效的解决了。1、mode...

网友评论

      本文标题:dva学习记录

      本文链接:https://www.haomeiwen.com/subject/pmbioxtx.html