React文档(十九)不使用ES6】的更多相关文章

首先,我们回顾一下在js里如何转换数组. 给出下面的代码,我们使用map()函数来获取一个数组的numbers然后将值变成两倍大.我们分配新数组由map()返回: const numbers = [1, 2, 3, 4, 5]; const doubled = numbers.map((number) => number * 2); console.log(doubled); 这段代码在控制台输出[2, 4, 6, 8 ,10]. 在React里,把数组转变成一系列元素也是一样的. 渲染多个组件…
在我们的看来,React是使用js创建大型快速网站应用的首要方法.它在Facebook和Instagram的使用已经为我们展现了它自己. React的一个很好的地方就在于当你创建应用的时候它使你思考如何创建.在这篇文档里,我们会带着你使用React创建一个查询产品数据表的流程. 以一个仿制品开始 想象我们已经有了一个JSON接口和一个设计师设计的仿制品.它的样子就像这样: 我们的JSON接口返回的数据就像这样: [ {category: "Sporting Goods", price:…
高阶组件(HOC)是React里的高级技术为了应对重用组件的逻辑.HOCs本质上不是React API的一部分.它是从React的组合性质中显露出来的模式. 具体来说,一个高阶组件就是一个获取一个组件并返回一个组件的函数. const EnhancedComponent = higherOrderComponent(WrappedComponent); 然而一个组件将props转变为UI,一个高阶组件将一个组件转变为另外一个组件. HOCs在第三方React库里也是有的,就像Redux里的con…
React是一个灵活的可以用于各种不同项目的框架,你可以用它来写新应用,你也可以逐步将它引进已有的代码库而不用重写整个项目. 试用React 如果你想玩一玩React,那么就去CodePen上试一试.尝试一下Hello World的React例子.不需要安装任何东西,只是修改代码然后查看结果. 如果你更喜欢在本地编辑,那么你也可以下载此文件,修改它,然后在本地用浏览器打开.但是它会做一个很慢的运行时代码转换,所以不要像这样在产品中使用. 创建一个单页应用 创建React应用这个项目是一个最好的方…
文档页面地址:https://doc.react-china.org/docs/thinking-in-react.html 该文档只给了具体实现思路,下面是我实现的代码. 初学react,如果有写的不规范的地方,望大家多多指正! FilterableProductTable (橙色): 包含了整个例子 SearchBar (蓝色): 接受所有的用户输入 ProductTable (绿色): 根据用户输入过滤并展示数据集合 ProductCategoryRow (绿松石色): 展示每个分类的标题…
通常你会将一个React组件定义成一个普通的js类: class Greeting extends React.Component { render() { return <h1>Hello, {this.props.name}</h1>; } } 如果你不打算使用ES6,你也可以使用create-react-class 模块: var createReactClass = require('create-react-class'); var Greeting = createRe…
在内部,React使用好几种聪明的技巧去最小化更新UI所需要的DOM操作.对于很多应用来说,使用React会使得构建用户界面非常之快而且不需要做太多专门的性能优化.虽然如此,还是有一些方法可以让你为React应用加速. 使用生产构建 如果你正在性能测试或者在你的应用里遇到性能测试问题,确保你测试时使用了压缩了的生产构建: 对于创建React应用,你需要运行npm run build然后遵循指令 对于单文件构建,我们提供生产环境.min.js的文件版本 对于模块管理,你需要设置NPDE_ENV=p…
Refs 提供了一种方式,用于访问在 render 方法中创建的 DOM 节点或 React 元素. 在标准的React数据流中,props是使得父组件和子组件之间交互的唯一方式.你通过props重新渲染子组件.然而,有些情况需要你必须在数据流之外修改一个子组件.这个子组件可以是一个React组件的实例,或者是一个DOM元素.对于这两种情况,React提供了解决方式. 什么时候使用refs 以下有几种合适的情况使用refs: 处理焦点,文本选择或者媒体播放 触发强制的动画 整合第三方DOM库 避…
根本上,JSX只是为React.createElement(component, props, ...children)函数提供语法糖.JSX代码是这样的: <MyButton color="blue" shadowSize={2}> Click Me </MyButton> 编译成这样: React.createElement( MyButton, {color: 'blue', shadowSize: 2}, 'Click Me' ) 你也可以使用自己闭合的…
HTML表单元素和 React里的其他DOM元素有些不同,因为它们会保留一些内部的状态.举个例子,这个普通的表单接受唯一的name值: <form> <label> Name: <input type="text" name="name" /> </label> <input type="submit" value="Submit" /> </form>…