zoukankan      html  css  js  c++  java
  • react 杂记

    1 className={}  style={{}}得原因:

    react的普遍写法一个{}代表里面是一个可执行的代码块,className只有一个{},而style之所以有两个{},是因为react里的style需要是一个对象,所以就多出了一个{}来包住样式属性,使其成为一个对象,所以当要实现多个行内样式,就是在正常写法的一个{}里面执行三目运算,将多个样式用{}包住,令其成为一个三目运算的结果,而另一个结果可以是'',null,{}

    例子:style={this.state.show?{background:"#e5effd",border:"1px solid #99C7F4"}:null}

    动态添加类名:

    1 多个class

    className={`${styles.tableCell} ${styles.cell}`}
    //或者
    className={[styles.tableCell,styles.cell].join(' ')}

    2 两个class

    第一种
    className={`${styles.tb} ${item.tbColor===null?styles.gray:item.tbColor=='RED'?styles.red:styles.green}`}
    第二种
    className={this.state.end=='left'?`${styles.idicatorList_left} ${styles.clickUseless}`:styles.idicatorList_left}

    2  () {}  jsx

    function NumberList(props) {
        var numbers;    //声明在外面是因为 {} 中不能出现var,const,let等这种关键字
        return (
        <ul>
          {
            numbers = props.numbers,   //注意这里要加逗号
    
            numbers.map((number) =>
            <ListItem key={number}
             value={number} />
          )}
        </ul>
        );
    }


    4组件名称必须以大写字母开头
    React 会将以小写字母开头的组件视为原生 DOM 标签。例如,<div /> 代表 HTML 的 div 标签,而 <Welcome /> 则代表一个组件,并且需在作用域内使用 Welcome
    因为 this.props 和 this.state 可能会异步更新,所以你不要依赖他们的值来更新下一个状态。
    • React 事件的命名采用小驼峰式(camelCase),而不是纯小写。
    • 使用 JSX 语法时你需要传入一个函数作为事件处理函数,而不是一个字符串。
    • 在 React 中另一个不同点是你不能通过返回 false 的方式阻止默认行为。你必须显式的使用 preventDefault
    • function handleClick(e) {    e.preventDefault();    console.log('The link was clicked.');  }
     
  • 相关阅读:
    MySQL索引
    《深度探索C++对象模型》笔记——Data语意学
    《深度探索C++对象模型》笔记——Function语意学
    近期的bug常见[从以前的零散笔记中整理]
    一个小trick
    3月9日-日记
    第一次考试_心得
    第一次考试_笔记
    哈希笔记
    Dp刷版笔记
  • 原文地址:https://www.cnblogs.com/fanjiawen/p/14522445.html
Copyright © 2011-2022 走看看