国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

金華網(wǎng)站建設(shè)外包百度定位店鋪位置怎么設(shè)置

金華網(wǎng)站建設(shè)外包,百度定位店鋪位置怎么設(shè)置,蘭州微信信息平臺網(wǎng)站建設(shè),曲阜網(wǎng)站建設(shè)多少錢公司的項(xiàng)目源碼用的是react和dva,所以我必須抓緊時(shí)間學(xué)習(xí)一下dva了,一天時(shí)間,看看我學(xué)到了什么(dva官網(wǎng)DvaJS)[這是很久之前就打算寫的了,一直沒時(shí)間,一直存著草稿,今天發(fā)出來吧] 1…

公司的項(xiàng)目源碼用的是react和dva,所以我必須抓緊時(shí)間學(xué)習(xí)一下dva了,一天時(shí)間,看看我學(xué)到了什么(dva官網(wǎng)DvaJS)[這是很久之前就打算寫的了,一直沒時(shí)間,一直存著草稿,今天發(fā)出來吧]

1.介紹

dva 首先是一個(gè)基于?redux?和?redux-saga?的數(shù)據(jù)流方案,然后為了簡化開發(fā)體驗(yàn),dva 還額外內(nèi)置了?react-router?和?fetch,所以也可以理解為一個(gè)輕量級的應(yīng)用框架。【redux-saga】

2.安裝 dva-cli

通過 npm 安裝 dva-cli 并確保版本是?0.9.1?或以上。

$ npm install dva-cli -g
$ dva -v
dva-cli version 0.9.1

3.?創(chuàng)建新應(yīng)用

dva new dva-quickstart

4.?通過 npm 安裝?antd?和?babel-plugin-import?。babel-plugin-import?是用來按需加載antd 的腳本和樣式的

$ npm install antd babel-plugin-import --save

編輯?.webpackrc,使?babel-plugin-import?插件生效。

{
+  "extraBabelPlugins": [
+    ["import", { "libraryName": "antd", "libraryDirectory": "es", "style": "css" }]
+  ]
}

注:dva-cli 基于 roadhog 實(shí)現(xiàn) build 和 dev,

5.定義路由

新建 route component?routes/Products.js,內(nèi)容如下:

import React from 'react';const Products = (props) => (<h2>List of Products</h2>
);export default Products;

添加路由信息到路由表,編輯?router.js?:

+ import Products from './routes/Products';
...
+ <Route path="/products" exact component={Products} />

npm start 啟動(dòng)服務(wù)

在瀏覽器里打開 http://localhost:8000/#/products ,你應(yīng)該能看到前面定義的?<h2>?標(biāo)簽

6.?編寫 UI Component

隨著應(yīng)用的發(fā)展,你會(huì)需要在多個(gè)頁面分享 UI 元素 (或在一個(gè)頁面使用多次),在 dva 里你可以把這部分抽成 component 。

我們來編寫一個(gè)?ProductList?component,這樣就能在不同的地方顯示產(chǎn)品列表了。

新建?components/ProductList.js?文件:

import React from 'react';
import PropTypes from 'prop-types';
import { Table, Popconfirm, Button } from 'antd';const ProductList = ({ onDelete, products }) => {const columns = [{title: 'Name',dataIndex: 'name',}, {title: 'Actions',render: (text, record) => {return (<Popconfirm title="Delete?" onConfirm={() => onDelete(record.id)}><Button>Delete</Button></Popconfirm>);},}];return (<TabledataSource={products}columns={columns}/>);
};ProductList.propTypes = {onDelete: PropTypes.func.isRequired,products: PropTypes.array.isRequired,
};export default ProductList;

7.?定義 Model

完成 UI 后,現(xiàn)在開始處理數(shù)據(jù)和邏輯。

dva 通過 model 的概念把一個(gè)領(lǐng)域的模型管理起來,包含同步更新 state 的 reducers,處理異步邏輯的 effects,訂閱數(shù)據(jù)源的 subscriptions 。

新建 model?models/products.js?:

export default {namespace: 'products',state: [],reducers: {'delete'(state, { payload: id }) {return state.filter(item => item.id !== id);},},
};

這個(gè) model 里:

  • namespace?表示在全局 state 上的 key
  • state?是初始值,在這里是空數(shù)組
  • reducers?等同于 redux 里的 reducer,接收 action,同步更新 state

然后別忘記在?index.js?里載入他:

// 3. Model
+ app.model(require('./models/products').default);

8.?connect 起來

到這里,我們已經(jīng)單獨(dú)完成了 model 和 component,那么他們?nèi)绾未?lián)起來呢?

dva 提供了 connect 方法。如果你熟悉 redux,這個(gè) connect 就是 react-redux 的 connect 。

編輯?routes/Products.js,替換為以下內(nèi)容:

import React from 'react';
import { connect } from 'dva';
import ProductList from '../components/ProductList';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>);
};// export default Products;
export default connect(({ products }) => ({products,
}))(Products);

最后,我們還需要一些初始數(shù)據(jù)讓這個(gè)應(yīng)用 run 起來。編輯?index.js

- const app = dva();
+ const app = dva({
+   initialState: {
+     products: [
+       { name: 'dva', id: 1 },
+       { name: 'antd', id: 2 },
+     ],
+   },
+ });

?9.打包

 npm run build
http://m.aloenet.com.cn/news/41797.html

相關(guān)文章:

  • 臺式機(jī)做網(wǎng)站服務(wù)器百度的首頁
  • 東莞市住房建設(shè)局網(wǎng)站成都百度推廣開戶公司
  • 鄭州網(wǎng)站建設(shè)漢獅百度下載安裝到桌面
  • 天津河?xùn)|區(qū)網(wǎng)站建設(shè)持續(xù)優(yōu)化完善防控措施
  • 今日河南新聞聯(lián)播上海整站seo
  • 專門做簡歷的網(wǎng)站有哪些長沙關(guān)鍵詞優(yōu)化方法
  • 檢察院加強(qiáng)網(wǎng)站建設(shè)長沙優(yōu)化網(wǎng)站推廣
  • 在線做heatmap的網(wǎng)站谷歌推廣怎么操作
  • 深夜免費(fèi)軟件app下載seo營銷的概念
  • 一般網(wǎng)站用什么軟件做怎么注冊一個(gè)自己的網(wǎng)站
  • 軟件公司網(wǎng)站系統(tǒng)集成建設(shè)營銷推廣的特點(diǎn)
  • wordpress寄出郵箱地址小學(xué)生班級優(yōu)化大師
  • 外貿(mào)平臺免費(fèi)網(wǎng)站網(wǎng)站優(yōu)化推廣平臺
  • 學(xué)做網(wǎng)站設(shè)計(jì)需要多少錢網(wǎng)頁制作教程步驟
  • 網(wǎng)站建設(shè)整個(gè)過程個(gè)人介紹網(wǎng)頁制作
  • 做外貿(mào)在哪個(gè)網(wǎng)站北京百度推廣電話號碼
  • 上海阿里巴巴做網(wǎng)站免費(fèi)的短視頻app大全下載
  • 商業(yè)網(wǎng)站改版需要多久愛站網(wǎng)綜合查詢
  • 無錫工廠網(wǎng)站建設(shè)南寧百度關(guān)鍵詞推廣
  • 松江營銷型網(wǎng)站建設(shè)b站是哪個(gè)網(wǎng)站
  • ui設(shè)計(jì)做兼職的網(wǎng)站如何寫市場調(diào)研報(bào)告
  • 女裝網(wǎng)站建設(shè)規(guī)劃網(wǎng)站怎樣被百度收錄
  • 怎么做網(wǎng)站的后臺管理系統(tǒng)手機(jī)360優(yōu)化大師官網(wǎng)
  • 微網(wǎng)站后臺怎么注冊互聯(lián)網(wǎng)推廣平臺有哪些公司
  • 辦公室現(xiàn)代簡約裝修效果圖武漢seo服務(wù)
  • 金山石化網(wǎng)站建設(shè)襄陽seo優(yōu)化排名
  • 做網(wǎng)站建設(shè)的上市公司有哪些百度競價(jià)是seo還是sem
  • lamp網(wǎng)站開發(fā) pdf企業(yè)網(wǎng)站建設(shè)需求分析
  • 做便民工具網(wǎng)站怎么樣百度問答兼職怎么做
  • 網(wǎng)站怎么防采集如何推廣普通話