@panhonhang
2020-02-11T21:01:57.000000Z
字数 2349
阅读 401
面试
“Commit 阶段”可以使用 DOM,运行副作用,安排更新。
挂载时
-提高代码的复用性,减少代码量、降低耦合度。
redux的三大原则
Store
reducer
相关API
中间件
react-redux
<Provider store>
根节点提供全局storeredux-logger
import { applyMiddleware, createStore } from 'redux';
import createLogger from 'redux-logger';
const logger = createLogger();
const store = createStore(reducer, applyMiddleware(logger));
react-thunk
与同步操作的不同
三种状态的写法
// 写法一:名称相同,参数不同
{ type: 'FETCH_POSTS' }
{ type: 'FETCH_POSTS', status: 'error', error: 'Oops' }
{ type: 'FETCH_POSTS', status: 'success', response: { ... } }
// 写法二:名称不同
{ type: 'FETCH_POSTS_REQUEST' }
{ type: 'FETCH_POSTS_FAILURE', error: 'Oops' }
{ type: 'FETCH_POSTS_SUCCESS', response: { ... } }
不可变数据
<Link>
使用href 去渲染一个可访问的锚标签,浏览器不会刷新。NavLink
是 < Link > 的一个特定版本, activeClassName 会在匹配上当前 URL 的时候会给已经渲染的元素添加样式参数<Prompt>
用户离开时候的提示<Redirect>
重定向到新的页面,通常用于登陆验证<Route>
当一个location匹配路由的path时,渲染某些UI。