React 常用知识点快速查找

2019-10-07  本文已影响0人  fangtang0101

title: React常用知识点快速查找
author: 作者
top: false
toc: false
date: 2019-07-30 13:39:35
tags:


按照Vue 的学习思路,找到对应的 react 中的实现方式

https://zh-hans.reactjs.org/

https://reactjs.org.cn/doc/hello-world.html

1. 基础

  1. && 和 || 的用法

    // A&& <h1>  当 A 为真 则 执行 <h1>
    function Cook(props){
      var p = props.process;
     return <div>
      <h1>欢迎你来到厨房</h1>
      {
        p=='有米了'&&
          <h1>{p},开始煮饭</h1>
      }
      {
        p=='没有米了'&&
          <h1>{p},快去买米</h1>
      }
       </div>
    }
    ReactDOM.render(
      <Cook process='有米了'/>,
      document.getElementById('root')
    
    )
    
  1. 三目运算

    function ThirdOperator(props){
      var f = props.fruit;
      //三元运算符
      return <h1>
            {f=='orange'? '橘子':'其他'}
          </h1>
    }
    ReactDOM.render(
      <ThirdOperator fruit='orange'/>,
      document.getElementById('root')
    )
    
  1. 避免渲染优化

    function Warnings(props){
      if(props.isRight=='true'){
        //通过 null 避免如下渲染
        return null;
      }
      return <div>
            <h1>请输入正确密码</h1>
          </div>
    }
     
    ReactDOM.render(
      <Warnings isRight='false'/>,
      document.getElementById('root')
    )
    
  1. 插件貌似没有什么人气,建议不用

    https://liximomo.github.io/introduce-recomputed

  2. xxx

2.如何传值

//子组件
var Child = React.createClass({
    render: function(){
        return (
            <div>
                请输入邮箱:<input onChange={this.props.handleEmail}/>
            </div>
        )
    }
});
//父组件,此处通过event.target.value获取子组件的值
var Parent = React.createClass({
    getInitialState: function(){
        return {
            email: ''
        }
    },
    handleEmail: function(event){
        this.setState({email: event.target.value});
    },
    render: function(){
        return (
            <div>
                <div>用户邮箱:{this.state.email}</div>
                <Child name="email" handleEmail={this.handleEmail.bind(this)}/>
            </div>
        )
    }
});
React.render(
  <Parent />,
  document.getElementById('test')
);

3. Redux 的使用

https://www.redux.org.cn/

https://juejin.im/post/5b755537e51d45661d27cdc3

​ xxx

4. router 的使用

http://www.ruanyifeng.com/blog/2016/05/react_router.html

https://github.com/reactjs/react-router

上一篇 下一篇

猜你喜欢

热点阅读