React 0.14.2 error-супер выражение должно быть null или функцией

после обновления с 0.13.2 до 0.14.2 я получаю эту ошибку:

Uncaught TypeError: Super expression must either be null or a function, not object

здесь несколько вопросы об этом уже. Наиболее распространенной ошибкой является неправильное написание React.компонент (без буквы). Другой пытается использовать классы ES6 с версиями

но я уже успешно использовал классы ES6 с React 0.13.x, и я использую капитал C везде, и ведение журнала реагирует.Компонент кажется дайте соответствующий результат (функция ReactComponent(...))

после некоторого поиска я сделал эти 3 тестовых случая, из которых 2 бросают ту же ошибку excact (без меня, понимая, почему), и один не делает. По-видимому, предполагая, что порядок, в котором происходят классы, является проблемой?

2 ответов


Я нашел решение. Это из-за изменений в Вавилоне, которые я также обновил. Если вы используете:

export default class BaseComponent

Вам также необходимо использовать import вместо require, так:

import BaseComponent from './BaseComponent'

вместо

var BaseComponent = require('./BaseComponent')

использовал это регулярное выражение для замены этого везде: заменить: var ([\w-_]+?) = require\('([\w-_.\/]+?)'\); с: import from '';


У меня была аналогичная проблема некоторое время назад, удаление папки node_modules и переустановка все работало для меня, может быть, вы могли бы попробовать это?