React16 新特性 引言 于 2017.09.26 Facebook 发布 React v16.0 版本,时至今日已更新到 React v16.6,且引入了大量的令人振奋的新特性,本文章将带领大家根据 React 更新的时间脉络了解 React16 的新特性。 概述 按照 React16 的更新时间,从 React v16.0 ~ React v16.6 进行概述。 React v16.0 render 支持返回数组和字符串、Error Boundaries、createPortal… »
本项目的面试题来源于 sudheerj/reactjs-interview-questions 这个项目。一时兴起就动起了翻译的念头,由于本人的 React 功力尚浅,翻译的内容难免有误或不妥的地方,望请各位见谅。如果你喜欢这个项目,请 Star,更感谢你的 Pull Request。 以下是现阶段本项目的短期计划: 完成前期的翻译工作 为 React 16 新特性,添加在线示例或完整的示例代码 这里再次感谢 liaoyongfu 的大力支持 Core React 什么是 React… »
组件实践 组件接口设计三原则 保持接口小,props 数量要少 根据数据边界来划分组件,利用组合(composition) 把 state 尽量往上层组件提取 同时,我们也接触了这样一些最佳实践: 避免 renderXXXX 函数,直接使用独立的纯函数组件 给回调函数类型的 props 加统一前缀,比如 on 或者 handle 使用 propTypes 来定义组件的 props 组件内部实现 尽量每个组件都有自己专属的源代码文件; 用解构赋值(destructuring assignment… »
Reselect 库可以创建可记忆的(Memoized)、可组合的 selector 函数。Reselect selectors 可以用来高效地计算 Redux store 里的衍生数据。 可记忆的 Selectors 初衷 上面的示例中,mapStateToProps 调用了 getVisibleTodos 来计算 todos。运行没问题,但有一个缺点:每当组件更新时都会重新计算 todos。如果 state tree… »
异步 Action 在 基础教程 中,我们创建了一个简单的 todo 应用。它只有同步操作。每当 dispatch action 时,state 会被立即更新 Action 当调用异步 API 时,有两个非常关键的时刻:发起请求的时刻,和接收到响应的时刻(也可能是超时) 这两个时刻都可能会更改应用的 state;为此,你需要 dispatch 普通的同步 action。一般情况下,每个 API 请求都需要 dispatch 至少三种 action 一种通知 reducer… »