React.default.memo не является функцией (React-Native) wrapWithConnect
Я получаю эту ошибку
_react.default.memo не является функцией
и wrapWithConnect
.
Это react-native
проект по react-native
и он работал нормально до того, как я использовал функцию соединения для подключения своей отправки к моему компоненту реакции:
Версии пакета:
"react": "16.5.0",
"react-redux": "^6.0.1",
"redux": "^4.0.1",
"redux-logger": "^3.0.6",
"redux-thunk": "^2.3.0",
код
const mapDispatchToProps = dispatch => {
return {
sendEmail: (email, navigateMap) => dispatch(sendEmail, navigateMap))
export default connect(null, mapDispatchToProps)(Login)
Ответы
Ответ 1
У меня была та же проблема, и я изменил версию react-redux
на 6.0.1
вместо того, чтобы использовать более новую версию, и проблема была решена.
Пожалуйста, измените версию, выполнив следующую команду:
npm install [email protected]
.
Версия моего проекта больше 16.5.0, но я не уверен, оказывает ли это влияние или нет.
Ответ 2
Была эта точно такая же ошибка. Реализовано это не из-за синтаксических ошибок, а из-за совместимости версии response-redux. После того как я запустил проверку пряжи, он дал мне несколько сообщений о том, что "response-redux#[email protected]^16.8.4 не удовлетворяет найденному соответствию [email protected]".
Экспо реагирует на 16.5.0, а Реакция-Редукс ожидает реагирующую версию 16.8.4. Как ответил мой, у меня сработала установка response-redux 6.0.0. Попытка изменить любой другой пакет привела к появлению еще большего количества ошибок
Ответ 3
Это проблема с expo. Попробуйте очистить кеш expo с помощью этой команды
expo r -c
Ответ 4
Попробуйте использовать 16.6.0 вместо 16.5.0.
Ответ 5
Попробуйте обновить ваши зависимости.
У меня та же проблема, и я использую npm-check-updates.
Вот журнал проверки обновлений:
expo ^32.0.0 → ^32.0.6
react 16.5.0 → 16.8.6
react-navigation ^3.6.1 → ^3.7.1
babel-preset-expo ^5.0.0 → ^5.1.1
Run npm install to install new versions.
Ответ 6
В последней версииact-redux 7.x требуется React 16.8.3 или более поздняя версия (https://react-redux.js.org/introduction/quick-start). Проверьте файл package.json, убедитесь, что ваш React обновлен, или измените его на 16.8.3 и запустите npm install. Это исправило это.
Ответ 7
Если вы чувствуете себя потерянным и беззащитным при попытке внедрить современное приложение React-Native в Expo, не волнуйтесь, мой друг, вы не одиноки.
У меня была эта проблема, и я обнаружил, что:
Я смог заставить его работать с этим набором версий:
"expo": "^32.0.0",
"react": "16.5.0",
"react-redux": "^6.0.1",
Вы можете заменить их в вашем package.json
, тогда вы должны сделать:
> rm -rf node_modules
> [npm|yarn] install
> expo r -c
Для того, чтобы удалить предыдущие версии из кеша node_modules и Expo.
Ответ 8
Чтобы объединить два ответа, которые решили это для меня:
- Удалите новый реакт-редукс:
yarn remove react-redux
- Установите более старую версию
yarn add [email protected]
: yarn add [email protected]
- Очистить кэш экспо:
expo r -c
Это сделает свое дело.