Вавилон реагирует на конфиг jsx не работает - PullRequest
0 голосов
/ 16 октября 2018

Я настроил babel-plugin-transform-реакции-jsx в .bablerc

{
  "presets": [...],
  "plugins": [
    [
      "@babel/plugin-transform-runtime",
      {
        "corejs": false,
        "helpers": true,
        "regenerator": true,
        "useESModules": false
      }
    ],
    ["@babel/plugin-proposal-decorators", { "legacy": true }],
    ["@babel/plugin-proposal-class-properties", { "loose": true }],
    ["import", { "libraryName": "antd", "libraryDirectory": "es", "style": true }],
    "@babel/plugin-transform-react-jsx"
  ]
}

Но скомпилированный код jsx завершился неудачно при установке AntD Table locale.emptyText (значение свойства может быть React.Node или Function , описанное в rc-table )

import { Table } in 'antd'
<Table
  locale={{ emptyText=<div><img src="..."></div> }}
>

ошибка:

Module build failed (from ./node_modules/babel-loader/lib/index.js):
SyntaxError: /path/to/page.js: Unexpected token (77:31)

  75 |             dataSource={dataSource}
  76 |             loading={false}
> 77 |             locale={{ emptyText=<div><img src=""></div> }}
     |                                ^

Еще, я знаю, что это работает, если писать как функцию:

locale={{ emptyText: () => <div><img src=""></div> }}

Ответы [ 2 ]

0 голосов
/ 16 октября 2018
locale={{ emptyText=<div><img src=""></div> }}
                   ^

сообщение об ошибке ясно, вы используете = вместо :

0 голосов
/ 16 октября 2018

В вашем коде есть опечатка, атрибут locale ожидает объект и, следовательно, пары ключ-значение, разделенные :, а не =

locale={{ emptyText: <div><img src="..."></div> }}

должны работать

...