Ошибка при использовании preact-compt Uncaught (в обещании) ReferenceError: h не определено - PullRequest
0 голосов
/ 05 апреля 2019

Я хочу использовать некоторые пакеты, совместимые с React, в моем приложении preact.Я следовал инструкциям по установке preact-compat.Теперь, когда я добавляю компонент React в приложение, мне все равно нужно импортировать 'h' из preact, в противном случае я получаю ошибку: Uncaught (в обещании) ReferenceError: h не определено.Например:

import React, { Component } from 'react';
import { render } from 'react-dom';
import { h } from 'preact';

export default class TestForm extends Component {

  constructor(props) {
    super(props);
  }

  render(props, state) { console.log('TestForm::render');
    return (
      <div>Hello</div>
    );
  }

}

Если я не импортирую 'h' из реакции, возникает ошибка.Как я могу это исправить?

Я использую Browserify и Babel и внес следующие изменения: В package.json:

"aliasify": {
    "aliases": {
        "react": "preact-compat",
        "react-dom": "preact-compat",
        // Not necessary unless you consume a module using `createClass`
        "create-react-class": "preact-compat/lib/create-react-class",
        // Not necessary unless you consume a module requiring `react-dom-factories`
        "react-dom-factories": "preact-compat/lib/react-dom-factories"
    }
}

и в .babelrc:

"plugins": [
    ["module-resolver", {
    "root": ["."],
    "alias": {
        "react": "preact-compat",
        "react-dom": "preact-compat",
        // Not necessary unless you consume a module using `createClass`
        "create-react-class": "preact-compat/lib/create-react-class",
        // Not necessary unless you consume a module requiring `react-dom-factories`
        "react-dom-factories" "preact-compat/lib/react-dom-factories"
    }
    }]
],
"presets": [
    "react"
]

1 Ответ

0 голосов
/ 05 апреля 2019

Добавьте это к вам, babel config

plugins: [
     ["@babel/transform-react-jsx", { pragma: "h" }]
 ],
...