@panhonhang
        
        2020-02-11T13:01:57.000000Z
        字数 2349
        阅读 574
    面试
“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。