无状态功能组件和“反应”导入

stateless functional components and `react` import

我遇到了与此处所述相同的问题 https://github.com/babel/babel/issues/2504

因此,任何只有无状态组件的文件都需要像 import React from 'react'; 一样导入 react,这有点烦人(eslint 给出错误作为未使用的变量;我知道可以抑制,仍然..).有没有办法避免在基于 webpack 的设置中进行此导入。

谢谢。

您可以使用 Webpack 的 ProvidePlugin (https://github.com/webpack/docs/wiki/shimming-modules#plugin-provideplugin):

new webpack.ProvidePlugin({
    React: "react"
})

现在您可以在每个模块中使用 React,而无需显式编写 import React from 'react'

我遇到了同样的问题。然后,我发现了这个:

babel-plugin-react-require

这将自动添加所需的 requireimport 调用以将 'react' 导入您的无状态组件模块。

P.S。如果您使用 webpack 和 babel6,请确保您没有为 JSX 文件使用 jsx-loader。我遇到了错误,然后我意识到 jsx-loader 不再需要了。只需使用:

babel-preset-react