React 0.14:普通对象替换

时间:2015-10-12 15:37:11

标签: javascript reactjs

在React doc中,您可以找到下一个重大变化:

Plain objects are no longer supported as React children; arrays should be used instead. You can use the createFragment helper to migrate, which now returns an array.

谁可以解释普通物体的含义?

创建组件有两种方法:ES6 extends React.Component& React.createClass其中哪一个很简单?

2 个答案:

答案 0 :(得分:2)

过去,您可以将两个组件数组用作子组件:

var arr = [
  <div>one</div>,
  <div>two</div>
];

return <div>{arr}</div>;

以及组件值为子项的对象:

var obj = {
  one: <div>one</div>,
  two: <div>two</div>
};

return <div>{obj}</div>;

React会迭代键并显示每个组件。这已不再受支持。

在许多情况下,这只是意味着当你想要渲染字符串或其他内容时,你不小心渲染了一个对象。

答案 1 :(得分:1)

在文档中,他们提到createFragment

  

您可以使用createFragment帮助程序进行迁移,现在返回一个数组。

其中包含指向createFragment文档的链接,其中说明了如何不呈现普通对象,而是使用其辅助方法创建该对象

https://facebook.github.io/react/docs/create-fragment.html

这意味着您无法在渲染功能中渲染普通对象。看起来它与React.componentReact.createClass无关,我认为两者都可以使用。