React基础篇-条件&列表

1.条件语法

//方法一:if-else的组合
class LoginControl extends React.Component {
  constructor(props) {...}
  handleLoginClick() {...}
  handleLogoutClick() {...}
  render() {
    const isLoggedIn = this.state.isLoggedIn;
    let button = null;
    if (isLoggedIn) {
      button = <LogoutButton onClick={this.handleLogoutClick} />;
    } else {
      button = <LoginButton onClick={this.handleLoginClick} />;
    }
    return (
      <div>
        <Greeting isLoggedIn={isLoggedIn} />
        {button}
      </div>
    );
  }
}
ReactDOM.render(
  <LoginControl />,
  document.getElementById('root')
);

//方法二:与运算符&&
class Mailbox extends React.Component {
  const valLen = props.valLen;
  return (
    <div>
      <h1>Hello!</h1>
      {valLen.length > 0 &&<h2>显示内容</h2>}   //true && ex 返回ex;false && ex 返回false
    </div>
  );
}
ReactDOM.render(
  <Mailbox valLen="3333" />,
  document.getElementById('root')
);

方法三:三目运算
render() {
  const isLoggedIn = this.state.isLoggedIn;
  return (
    <div>
      {isLoggedIn ? 'isLoggedIn为true显示的内容' : '其他显示内容'}
    </div>
  );
}

2.列表

注意:
    1.使用 map() 去遍历数组或者对象,实现列表组件的return;
    2.一般习惯性的在列表组件中使用 key 属性来规定生成DOM的唯一性;
    3.key 值是无法使用 props.key 访问的;
    4.key 值的位置不可以过深,否则会导致解构不清晰等诸多问题;
    5.如果未定义 key 值时,常常使用 index(下标) 来作为 key 的属性值;
示例:
class NumberList extends React.Component{
    constructor(props){
        super(props);
        this.state={};
    }
    const numbers=this.props.numbers;
    const listItems = numbers.map((number,index) =>
        <li key={index}>
          {number}
        </li>
    );
    return (
        <ul>{listItems}</ul>
    );
}

const numbers = [1, 2, 3, 4, 5];
ReactDOM.render(
  <NumberList numbers={numbers} />,
  document.getElementById('root')
);

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值