0

Я получаю эту ошибку при работе с реакцией:Предупреждения: <Unknown Компонент /> визуализируются оба [Unknown] и [Unknown]

Warning: <Unknown Component /> is being rendered by both [Unknown] and [Unknown] using the same key (null) in the same place. Currently, this means that they don't preserve state. This behavior should be very rare so we're considering deprecating it. Please contact the React team and explain your use case so that we can take that into consideration. 
Warning: setState(...): Can only update a mounted or mounting component. This usually means you called setState() on an unmounted component. This is a no-op. 

Вот некоторые контексты о том, что мы делаем:

Мы создаем приложение, которое динамически добавляет и удаляет представления из контейнера. Эти представления хранятся в ViewStore. Для добавления и удаления представлений есть ViewActions.

Все представления, управляемые в этом магазине, имеют статический ViewKey, который уникально используется для этого представления. Чтобы добавить представление, вы можете позвонить ViewActions.addView(<SomeComponent />). Если представление уже присутствует, оно будет заменено.

ViewContainer визуализирует эти представления, прослушивая изменения из ViewStore и визуализируя представление с использованием свойства ключа, установленного в ViewKey.

Когда я добавляю представление, которое уже присутствует, в ответ на событие щелчка мыши, все в порядке. Когда я добавляю тот же вид из консоли разработчика chrome, и представление уже присутствует, я получаю предупреждения, упомянутые выше, но все работает нормально (возможно, потому что представление было показано ранее).

Как я могу избавиться от этого предупреждения?

EDIT: После еще некоторого исследования я узнал, что это происходит только при стрельбе действие из Chrome Developer Console. В Firefox и IE (от консолей разработчика) это работает без проблем.

Почему я вижу эту проблему только в Chrome?

+0

Вы можете добавить статическое свойство ['displayName'] (http://facebook.github.io/react/docs/component-specs.html#displayname) к вашим классам компонентов, чтобы улучшить сообщения об ошибках и сообщениях об ошибках. –

ответ

0

, когда вы добавляете его с помощью консоли разработчика, это будет другой тип, кроме реагирующего компонента. вы должны увидеть, что если вы показываете тип с:

typeof <Component /> 

используйте это в консоли и в коде. вы должны увидеть разницу.

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