React 實踐專案 (四)

2021-09-16 18:15:17 字數 2672 閱讀 2369

react在github上已經有接近70000的 star 數了,是目前最熱門的前端框架。而我學習react也有一段時間了,現在就開始用 react+redux 進行實戰!

上回說到使用redux-saga 管理 redux 應用非同步操作,應用還是只有乙個首頁.現在開始構建乙個新的投稿頁面並使用 react-router 進行路由管理.

react 實踐專案 (一)

react 實踐專案 (二)

react 實踐專案 (三)

react 實踐專案 (四)

建立 src/containers/submitentry.js

/**

* created by yuicon on 2017/7/13.

* */import react, from 'react';

import from "element-react";

import from "react-redux";

import from '../../redux/action/entries';

import './submitentry.css';

@connect(

(state) => );

}, )

export default class submitentry extends component ,

loading: false,

};} componentwillreceiveprops(nextprops) );

this.setstate(});

} else if (nextprops.entries.get('error')) );

}this.setstate();

} handlesubmit = () => );

};handlechange = (key, value) => )

});};

render()

}

相關的redux部分已經講過.就不重複介紹了,感興趣的可以檢視示例**

編輯 package.json

// react-router-dom 包含 react-router

"react-router-dom": "^4.1.1",

/**

* created by yuicon on 2017/6/25.

*/import react, from 'react';

import from 'react-router-dom'

import index from "../index/index";

import header from "../header/header";

import submitentry from "../submitentry/submitentry";

render()

}

router:

router 一共有三種,我們採用的是常用的 browserhistory

browserhistory h5的history

hashhistory 老版本瀏覽器的history

memoryhistory node環境下的history,儲存在memory中

route :

每個 route 標籤都對應乙個ui頁面,它的職責就是當頁面的訪問位址與 route 上的 path 匹配時,就渲染出對應的 ui 介面。

是沒有 path 的,這意味著在每個頁面都會渲染出 header 元件.

exact :

route 上的 exact props 表示採用嚴格匹配,頁面的訪問位址與 route 上的 path 必須一樣

只會匹配 '/' , 不會匹配 '/submit-entry'

會匹配所有 '/' 開頭的路徑

history:

常用方法

push(path, [state]) 在歷史堆疊資訊裡加入乙個新條目。

常用於頁面跳轉,如:this.props.history.push('/');跳轉至首頁

replace(path, [state]) 在歷史堆疊資訊裡替換掉當前的條目

與 push 的區別是無法通過歷史堆疊返回跳轉前的頁面

goback() 等同於瀏覽器的後退鍵

match:

match 物件包含了 route 如何與 url 匹配的資訊,具有以下屬性:

params: object 路徑引數,通過解析 url 中的動態部分獲得鍵值對

i***act: bool 為 true 時,整個 url 都需要匹配

path: string 用來匹配的路徑模式,用於建立巢狀的

url: string url 匹配的部分,用於巢狀的

常用於獲取路徑中的引數

有這樣乙個路由

在 child 中可以這樣獲取到 id 引數this.props.match.params.id

React 實踐專案 (四)

react在github上已經有接近70000的 star 數了,是目前最熱門的前端框架。而我學習react也有一段時間了,現在就開始用 react redux 進行實戰!上回說到使用redux saga 管理 redux 應用非同步操作,應用還是只有乙個首頁.現在開始構建乙個新的投稿頁面並使用 r...

React專案實踐系列一

專案建立於2018年1月底,到現在已經接近半年,在此寫下半年來專案的實踐過程以及自己對前端的學習與體悟。技術選型 框架 react 路由 react router 4 狀態管理 redux ui元件庫 ant design 搭建工程 首先我們並不打算將react讓webpack打包,而使用第三方的c...

python實踐專案(四)

練習1 好玩遊戲的物品清單 意味著玩家有 1 條繩索 6 個火把 42 枚金幣等。寫乙個名為 displayinventory 的函式,它接受任何可能的物品清單,並顯示如下 inventory 12 arrow 42 gold coin 1 rope 6 torch 1 dagger total n...