Кроссплатформенный компонент реагировать
Я использую 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.js
index.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' ]
}