React文档(二十二)context】的更多相关文章

React拥有很强大的组合模型,我们建议使用组合来替代继承来重利用组件之间的代码. 在本章节中,我们将讨论一些开发者经常触及继承的问题,并且我们该如何使用组合来解决这些问题. 组合 一些组件事先不知道它们的子组件.这种问题特别对于组件类似Sidebar或者Dialog这种通用的“盒子”. 我们建议像这样的组件使用特殊的children属性去直接传递子元素到它们的输出里: function FancyBorder(props) { return ( <div className={'FancyBo…
Refs 提供了一种方式,用于访问在 render 方法中创建的 DOM 节点或 React 元素. 在标准的React数据流中,props是使得父组件和子组件之间交互的唯一方式.你通过props重新渲染子组件.然而,有些情况需要你必须在数据流之外修改一个子组件.这个子组件可以是一个React组件的实例,或者是一个DOM元素.对于这两种情况,React提供了解决方式. 什么时候使用refs 以下有几种合适的情况使用refs: 处理焦点,文本选择或者媒体播放 触发强制的动画 整合第三方DOM库 避…
通常你会将一个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…
注意: React.PropTypes 自 React v15.5 起已弃用.请使用 prop-types 库代替. 随着你的应用的开发,你会使用类型检查的方法来捕获很多bug.对于一些应用,你可以使用js扩展就像Flow或者TypeScript去对整个应用进行类型检查.但是即使你不是用这些扩展语言,React也有一些内置的类型检查功能.在props上运行类型检查,你可以指派特殊的propTypes属性: import PropTypes from 'prop-types'; class Gre…
根本上,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>…
前言 各种编程语言均有其优势和生态,有兴趣的朋友完全可以涉猎多门语言.在平常的工作之中,也可以尝试选择相对适合的编程语言来完成相关的工作. 在团队技术文档站搭建这块,笔者尝试了许多框架,最终还是选择了Hexo,主要是由于其丰富的主题和插件,并且灵活和高度可定制化,改起来也非常方便.我们团队文档站即使用Hexo来构建,并且基于容器配置了完整的代码流水线:docs.xin-lai.com 如果对站点配置.主题.插件存在疑问,可以加群沟通. 目录 官方镜像  编写一个简单的Web服务器  编码 编写D…
>一: 一.软件开发的常识 1.什么是软件? 一系列按照特定顺序组织起来的计算机数据或者指令 常见的软件: 系统软件:Windows\Mac OS \Linux 应用软件:QQ,一系列的播放器(爱奇艺,乐视,腾讯....),一系列的浏览器(谷歌,IE....) 2.什么是开发? 就是制作软件的过程 软件的出现实现了人与计算机之间的人机交互 交互方式:图形化方式:操作简单,用户容易上手 命令行方式:在控制台输入输入相应的指令,根据指令让计算机完成相关的操作 3.命令行指令(Windows+r---…
Alink漫谈(二十二) :源码分析之聚类评估 目录 Alink漫谈(二十二) :源码分析之聚类评估 0x00 摘要 0x01 背景概念 1.1 什么是聚类 1.2 聚类分析的方法 1.3 聚类评估 0x02 Alink支持的评估指标 2.1 轮廓系数(silhouette coefficient): 2.2 Calinski-Harabaz(CH) 2.3 Davies-Bouldin指数(Dbi) 2.4 Rand index(兰德指数)(RI) .Adjusted Rand index(调…