1

情景

我正在编写一个 React-Native-Web (RNW) 应用程序。基本设计是一个将自定义 React-Native 组件库作为节点包的核心应用程序。

组件库也是一个 RNW 应用程序,因为我使用 StoryBook 允许独立开发。

问题

当我使用 git 将组件库安装npm i ...到核心应用程序中并将其导入到 src 文件夹中的 App.js 中时,我收到以下错误...

ReferenceError: Can't find variable: Symbol

This error is located at:
    in Styled(SimpleList) (created by App)
    in RCTView (created by View)
    in View (created by App)
    in App (created by NativeApp)
    in NativeApp
    in RCTView (created by View)
    in View (created by AppContainer)
    in RCTView (created by View)
    in View (created by AppContainer)
    in AppContainer

我也尝试安装es6-symbol但这似乎没有任何影响。

在此处输入图像描述

请问有什么建议吗?

4

3 回答 3

4

你需要

npm install es6-symbol --save

然后在 index.android.js & index.ios.js 里面

导入'es6-符号/实现'

如果它仅在 android 中引起问题,您可能需要在 index.android.js 中添加它

导入'core-js/es6/symbol';

导入'core-js/fn/symbol/iterator';

导入“core-js/es6/set”;

问题

于 2018-05-24T09:19:25.810 回答
0

在你的根 index.js 文件中导入这些:

import "core-js/stable";
import "regenerator-runtime/runtime";
于 2019-06-13T07:36:34.340 回答
0

感谢@supra28 的解决方案。我必须做的唯一改变是添加

import 'core-js/es6/symbol';

import 'core-js/fn/symbol/iterator';

import "core-js/es6/set";

到 app.js 而不是 index.android.js。此解决方案适用于 ios 和 android

于 2018-05-24T09:52:24.563 回答