初入react -02

if 语句和 for 循环在 JavaScript 中不是表达式,因此它们不能直接在 JSX 中使用,所以你可以将它们放在周围的代码中(return里不能出现for if,在render内 return前for if)

function NumberDescriber(props) {
  let description;
  if (props.number % 2 == 0) {
    description = <strong>even</strong>;
  } else {
    description = <i>odd</i>;
  }
  return <div>{props.number} is an {description} number</div>;
}

你可以通过子代嵌入更多的 JSX 元素,这对于嵌套显示组件非常有用:(每个组件状态都是独立的话,可以嵌套。如果每个组件之间需要共享状态,就要组合)

// 嵌套
<MyContainer> <MyFirstComponent /> <MySecondComponent /> </MyContainer>

// 组合
render(){
return (
<div>
<SearchBar
filterText={this.state.filterText}
inStockOnly={this.state.inStockOnly}
onFilterTextInput={this.handleFilterTextInput}
onInStockInput={this.handleInStockInput}
/>
<ProductTable
products={this.props.products}
filterText={this.state.filterText}
inStockOnly={this.state.inStockOnly}
/>
</div>
);
}

 

posted @ 2018-01-31 17:53  SharkChilli  阅读(99)  评论(0编辑  收藏  举报