Кроссплатформенный компонент реагировать

Я использую response-native-web, и я хотел бы создавать кроссплатформенные компоненты. Я хотел бы дифференцировать каждый компонент по платформе.

Поэтому я следовал этому руководству: https://www.smashingmagazine.com/2016/08/a-glimpse-into-the-future-with-react-native-for-web/

У меня есть 3 файла:
- friendsList.android.js
- friendsList.ios.js
- friendsList.web.js

И для импорта FriendsList, в index.android.js, index.ios.jsindex.web.js:

Import FriendsList from './friendsList';

На Ios и Android работает нормально. Но в Интернете он не распознает файл. У меня на самом деле есть 3 решения:
- указать при импорте: import FriendsList from './friendsList.web';
- определить сервис, который отправляет для каждой платформы
- или определить псевдоним в веб-пакете:

 resolve: {
        alias: {
            'react-native': 'react-native-web',
            './friendsList': './friendsList.web',
        },
    },

Есть ли способ импортировать.web без этих способов?
Может быть, не думали так делать?

1 ответ

Решение

В соответствии с react-native-web Приступая к работе с документацией, вам необходимо установить расширения.

resolve: {
  // Maps the 'react-native' import to 'react-native-web'.
  alias: {
    'react-native': 'react-native-web'
  },
  // If you're working on a multi-platform React Native app, web-specific
  // module implementations should be written in files using the extension
  // `.web.js`.
  extensions: [ '.web.js', '.js' ]
}
Другие вопросы по тегам