Skip to content

"invalid attempt to spread non-iterable instance" error only for android when trying string spread #21734

@skuzoluk

Description

@skuzoluk

Environment

React Native Environment Info:
System:
OS: macOS High Sierra 10.13.6
CPU: x64 Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz
Memory: 809.96 MB / 16.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 8.9.2 - /usr/local/bin/node
Yarn: 1.0.2 - /usr/local/bin/yarn
npm: 6.3.0 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.0, macOS 10.14, tvOS 12.0, watchOS 5.0
Android SDK:
Build Tools: 26.0.1
IDEs:
Android Studio: 3.1 AI-173.4907809
Xcode: 10.0/10A255 - /usr/bin/xcodebuild
npmPackages:
react: ^16.5.0 => 16.5.0
react-native: ^0.57.2 => 0.57.2
npmGlobalPackages:
create-react-native-app: 1.0.0
eslint-plugin-react-native: 3.2.0
react-native-cli: 2.0.1
react-native-gesture-handler: 1.0.0-alpha.29
react-native-git-upgrade: 0.2.7
react-native-rename: 2.2.2
react-native-vector-icons: 4.4.2

Description

In debug mode everything is working as expected. But after bundling, when using spread operation to convert string to array, only Android (platform independent) throws error. But ios works well (both debug and production). The code was working well before updating RN 55.4 to 57. After update I had to change the code to this working example:

Array.from(str).map((p, i) => {return p;})

Reproducible Demo

Error example:

const str = 'error test';
[...str].map((p, i) => {return p;})

The approach is right but what is the problem with babel 7?

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugPlatform: AndroidAndroid applications.StaleThere has been a lack of activity on this issue and it may be closed soon.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions