美文网首页
ReactJS自习第贰夜

ReactJS自习第贰夜

作者: 行走的程序猿 | 来源:发表于2017-05-18 11:14 被阅读19次
发现一个好用的网站caniuse.com

caniuse.com(我能用么),在这个网站上你可以查看你所引入的模块被哪些浏览器支持,非常清晰。示例图如下:


caniuse.com示例
react组件

component是react的一大特性,以标签的形式模块化的组织视图及其功能。component类的方法可以有以下几种:事件处理方法、组件生命周期方法、render方法以及初始化方法。其中render方法必须有,return的结果就是页面要渲染呈现的内容。事件处理方法的使用是将其绑定在render结果中的某个(些)标签上,在触发特定事件后进行调用。
参考资料
Thinking in React

react 组件life-cycle
  • 初始化阶段
    getDefaultProps
    在组件创建的时候调用,即使用React.createClass()时,定义默认的props,保证父组件没有传入参数时props仍有值可用。
    getInitialState
    初始化this.state,只在组件Mount前调用一次。state属性用来标记组件内部状态的变化,是控制组件视图变化的重要手段。除了使用getInitialState方法外,ES6也可使用构造器进行初始化。
constructor(props) {
    super(props);
    this.state = { count: props.initialCount };
  }
  • 组件装载阶段
    componentWillMount
    只在render之前调用一次,可以调用setState改变状态。
    componetDidMounnt
    只在render之后调用一次,可以调用findDOMNode(this)查找组件结点。
    render之后调用
  • 组件更新阶段
    (以下方法不会在首次render的时候调用)
    componentWillReceiveProps
    shouldComponentUpdate
    componentWillUpdate
    componentDidUpdate
  • 组件卸载阶段
    componentWillUnmount
react的props和state

super(props)是什么意思?
state是class才具备的特性,所以要使用state的组件必须用class myClass extends React.Component()创建,而不是函数对象的形式创建。state的初始化是在constructor类构造器中为this.state赋值。
react中调用setState方法设置state的值,会触发组件重新render。

react事件

react事件分为两种,一种是js原生事件,在生命周期函数componentDidMount中使用addEventListener进行绑定,一种是合成事件,使用jsx在组件中进行绑定操作,<p onClick={this.handleClick.bind(this, 'extra param')}>(尽量显式的将事件处理函数绑定到组件实例)。合成事件符合w3c标准,其好处是会以事件委托(event delegation)的形式绑定到最上层组件,并在组件卸载时自动销毁。而原生事件需要在componentWillUnmount阶段使用removeEventListener手动解除绑定。

react的DOM操作
  • 获取组件对应的DOM元素
    组件加载后,可以使用ReactDOM.findDOMNode()来获取,需要注意的是findDOMNode不能获取到无状态的组件。
  • refs
    为元素设置ref属性,可在组件内部对元素进行访问,而且是唯一可靠的方式,如this.refs.name,需要注意的是ref不能设置在无状态组件上(无状态组件指的是没有生命周期函数、没有设置state变量的组件)。
react条件渲染

http://www.css88.com/react/docs/conditional-rendering.html

相关文章

  • ReactJS自习第壹夜

    请求json文件 使用fetch请求同站json文件,始终返回render之前的htmlfetch是ajax请求,...

  • ReactJS自习第贰夜

    发现一个好用的网站caniuse.com caniuse.com(我能用么),在这个网站上你可以查看你所引入的模块...

  • ReactJS自习第叁夜

    jsx 传播属性 spread attribute将单独定义的属性对象变量作为组件的props jsx中写表达式和...

  • ReactJs自习室

    环境准备 MAC安装npm / cnpmnpm叫node包管理器,Node.js的模块依赖管理工具,是基于couc...

  • React 生态系

    ReactJS ReactJS 是 Facebook 推出的 JavaScript 函式库,若以 MVC 框架来看...

  • 2019-03-21

    Reactjs javaScript

  • 一、React入门

    官网: 英文官网: https://reactjs.org/[https://reactjs.org/] 中文官网...

  • ReactJS:支持React开发,提供JSX代码提示,高亮显示

    ReactJS:支持React开发,提供JSX代码提示,高亮显示,ReactJS官方介绍 1、cdm→ compo...

  • 前端-08-React

    1.概述 https://reactjs.org/[https://reactjs.org/]构建用户界面的js库...

  • ReactJS初探(一)

    前端项目打算使用ReactJS+Webpack+ant-design来做。ReactJS的官网:https://r...

网友评论

      本文标题:ReactJS自习第贰夜

      本文链接:https://www.haomeiwen.com/subject/iutvtxtx.html