2015-10-12 2 views
3

В React документ вы можете найти следующие важные изменения:Реагировать 0,14: обычный объект замена

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. Какой из них простой?

+0

Это не то, о чем говорит эта ошибка (что, честно говоря, немного запутывает). Проверьте https://facebook.github.io/react/docs/create-fragment.html –

ответ

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

В документации они упоминают createFragment

Вы можете использовать помощник createFragment мигрировать, который теперь возвращает массив.

Который имеет ссылку на createFragment документов, которые объясняют, как не делают простые объекты, но вместо того, чтобы использовать их вспомогательный метод для создания такого объекта

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

Это означает, что вы просто не можете сделать простые объекты в вашей функции рендеринга. Похоже, что это не имеет никакого отношения к React.component или React.createClass, которые, как я предполагаю, все еще могут использоваться.

Смежные вопросы