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 и переустановка все работало для меня, может быть, вы могли бы попробовать это?