react常用知识点备忘

一、高阶函数或高阶组件

react常用知识点备忘_第1张图片
在这里插入图片描述
react常用知识点备忘_第2张图片

react常用知识点备忘_第3张图片
react常用知识点备忘_第4张图片

二、理解什么是配置对象

react常用知识点备忘_第5张图片

三、路由的使用

①下载路由react-router-dom
yarn add react-router-dom
npm i react-router-dom --save
②规划路由
react常用知识点备忘_第6张图片
③配置路由
react常用知识点备忘_第7张图片

四、周期函数的使用

react常用知识点备忘_第8张图片

五、事件函数传参数

第一种渲染就直接调用了,不可取
react常用知识点备忘_第9张图片
第二种常用的方式
react常用知识点备忘_第10张图片

react常用知识点备忘_第11张图片

六、父子组件传值

react常用知识点备忘_第12张图片

react常用知识点备忘_第13张图片

七:传值

// The ES5 way
var Video = React.createClass({
  getDefaultProps: function() {
    return {
      autoPlay: false,
      maxLoops: 10,
    };
  },
  getInitialState: function() {
    return {
      loopsRemaining: this.props.maxLoops,
    };
  },
  propTypes: {
    autoPlay: React.PropTypes.bool.isRequired,
    maxLoops: React.PropTypes.number.isRequired,
    posterFrameSrc: React.PropTypes.string.isRequired,
    videoSrc: React.PropTypes.string.isRequired,
  },
});
// The ES6+ way   npm install --save prop-types(注意: React.PropTypes 自 React v15.5 起已弃用。请使用 prop-types 库代替。)
import PropTypes from 'prop-types'
class Video extends React.Component {
  static defaultProps = {
    autoPlay: false,
    maxLoops: 10,
  }
  static propTypes = {
    autoPlay: PropTypes.bool.isRequired,
    maxLoops: PropTypes.number.isRequired,
    posterFrameSrc:PropTypes.string.isRequired,
    videoSrc:PropTypes.string.isRequired,
  }
  state = {
    loopsRemaining: this.props.maxLoops,
  }
}

注意调用是这样的
this.props.autoPlay

五、ref三种用法

  1. 字符串(已废弃)
  2. 回调函数
  3. React.createRef() (React16.3提供)

1. 字符串

最早的ref用法。

1.dom节点上使用,通过this.refs[refName]来引用真实的dom节点

 //this.refs['inputRef']来访问
2.类组件上使用,通过this.refs[refName]来引用组件的实例

 //this.refs['comRef']来访问

1.dom节点上使用回调函数

 {this.textInput = input;}} type="text" />
2.类组件上使用

 {this.textInput = input;}} />

class Child extends React.Component{
    constructor(props){
        super(props);
        this.myRef=React.createRef();
    }
    componentDidMount(){
        console.log(this.myRef.current);
    }
    render(){
        return 
    }
}

你可能感兴趣的:(react)