基于Dav快速搭建React开发框架

1、 dva-cli

安装 dva-cli,具体教程 快速上手dva

2、改写上面示例中的Products.js

将函数组件改成React类组件

import React from "react";
import { connect } from "dva";
import ProductList from "../components/ProductList";

class Products extends React.Component {
    constructor(...args) {
        super(...args);
        this.state = {
            show: false
        };
    }
    handleDelete(id) {
      this.props.dispatch({
        type: "products/delete",
        payload: id,
      });
    }
    render() {
      console.log(this.props);
     return (
      <div>
        <h2>List of Products</h2>
        <ProductList onDelete={this.handleDelete} products={this.props.products.initData} />
      </div>
    );
    }
}
Products.defaultProps = {
    title: "下拉弹框",
    datas: [1, 2, 3],
}
export default connect(({ products }) => ({
  products,
}))(Products);
3、配置.webpackrc

dva-cli 基于 roadhog 实现 build 和 dev, 更多 .webpackrc 的配置详见
roadhog

{
    "entry": {
        "index":"./src/main.ts",
        "vendor":["react","react-dom","react-router-dom","react-router-redux","redux","react-redux","dva","@reco-mobile/core","prop-types","immutable","classnames"],
        "polyfills":["jquery","isomorphic-fetch","webuploader","./src/polyfills.ts"]
    },
    "extraBabelPlugins": [
        ["import", {"libraryName": "antd-mobile", "style": true}]
    ],
    "hash": true,
    "jquery": true,
    "html": {"template": "./src/index.ejs"},
    "commons":[{"name":["vendor","react","polyfills","manifest"]}],
    "disableCSSModules": true,
    "copy":[{"from": "src/assets","to": "assets"}],
    "theme":"theme.json",
    "browserslist": [ "Android >= 6.0","iOS 9"]
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值