# React 小 Tips
# 阻止组件渲染
在极少数情况下, 你可能希望能隐藏组件, 即使它已经被其他组件渲染.若要完成此操作,你可以让 render
方法直接返回 null
,而不进行任何渲染.
function WarningBanner(props) { if (!props.warn) { return null; } return <div className="warning">Warning!</div>; }
Copied!
1
2
3
4
5
6
7
2
3
4
5
6
7
# key
的正确用法
function ListItem(props) { // 正确!这里不需要指定 key: return <li>{props.value}</li>; } function NumberList(props) { const numbers = props.numbers; const listItems = numbers.map(number => ( // 正确!key 应该在数组的上下文中被指定 <ListItem key={number.toString()} value={number} /> )); return <ul>{listItems}</ul>; } const numbers = [1, 2, 3, 4, 5]; ReactDOM.render( <NumberList numbers={numbers} />, document.getElementById("root") );
Copied!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
TIP
key 只是在兄弟节点之间必须唯一
key 会传递信息给 React ,但不会传递给你的组件.如果你的组件中需要使用 key 属性的值,请用其他属性名显式传递这个值.