2018-08-03

2018-08-03  本文已影响0人  呵呵_e03d

第5天 抽空看了一下 React 列表和键(keys)

const numbers = [1, 2, 3, 4, 5];
const listItems = numbers.map((number) =>
  <li>{number}</li>
);

多组件渲染,可以创建元素集合,并用一对大括号 {} 在 JSX 中直接将其引用即可。

ReactDOM.render(
  <ul>{listItems}</ul>,
  document.getElementById('root')
);
const todoItems = todos.map((todo, index) =>
  // Only do this if items have no stable IDs
  <li key={index}>
    {todo.text}
  </li>
);

如果列表项的顺序可能改变,我们不建议使用索引作为 keys。这可能会对性能产生负面影响,并可能导致组件状态问题。

const content = posts.map((post) =>
  <Post
    key={post.id}
    id={post.id}
    title={post.title} />
);

上面的例子中, Post 组件可以读取 props.id,但是不能读取 props.key 。

function NumberList(props) {
  const numbers = props.numbers;
  return (
    <ul>
      {numbers.map((number) =>
        <ListItem key={number.toString()}
                  value={number} />

      )}
    </ul>
  );
}
上一篇 下一篇

猜你喜欢

热点阅读