使用 connect 时出错(react-redux 库的函数)

2024-03-07

我有一个组件类,我正在使用react-redux来连接redux存储,但是当我尝试将组件传递到connect函数时出现错误。

_react.default.memo 不是一个函数。 (在 '_react.default.memo(ConnectFunction) 中, “_react.default.memo”未定义)

wrapWithConnect C:\Users\SESA506797XmobileApp Gatherman\node 模块react-redux\lib\components connectAdvanced.js: 339:45

我附上生成的 errerur 的图像 https://i.stack.imgur.com/jIrXw.jpg

这是调用 connect 的类的内容

影片详情

import React from 'react'
import { StyleSheet, View, ActivityIndicator, ScrollView, Text, Image } 
from 'react-native'
import { getFilmDetailFromApi, getImageFromApi } from '../API/TMDBApi'
import { connect } from 'react-redux'

class FilmDetail extends React.Component {
  constructor(props) {
    super(props)
    this.state = {
      film: undefined,
    }
  }
  componentDidMount() {
    getFilmDetailFromApi(this.props.navigation.state.params.idFilm).then(data => {
      this.setState({
        film:data,
        isLoading: false
      })
    })
  }

  _displayFilm(){
    const film = this.state.film
    if(film != undefined){
      return(
        <ScrollView style={styles.scrollView_container}>
          <Image
            style = {styles.image}
            source = {{uri: getImageFromApi(film.backdrop_path)}}
          />
          <Text style={styles.title_text}>{film.title}</Text>
          <Text style={styles.description_text}>{film.overview}</Text>
          <Text style={styles.default_text}>Note : {film.vote_average} / 10</Text>
        </ScrollView>
      )
    }
  }

  render() {
    return (
      <View style={styles.main_container}>
        {this._displayFilm()}
      </View>
    )
  }
}

const styles = StyleSheet.create({
  main_container: {
    flex: 1
  },
})

const mapStateToProps = (state) => {
  return state
}

export default connect(mapStateToProps)(FilmDetail)

这是我的 package.json

 {
      "main": "node_modules/expo/AppEntry.js",
      "scripts": {
        "start": "expo start",
        "android": "expo start --android",
        "ios": "expo start --ios",
        "eject": "expo eject"
      },
      "dependencies": {
        "expo": "^32.0.0",
        "numeral": "^2.0.6",
        "react": "16.5.0",
        "react-native": "https://github.com/expo/react-native/archive/sdk-32.0.0.tar.gz",
        "react-native-modal": "^9.0.0",
        "react-navigation": "^3.6.1",
        "react-redux": "^7.0.1",
        "redux": "^4.0.1"
      },
      "devDependencies": {
        "babel-preset-expo": "^5.0.0"
      },
      "private": true
    }

前一段时间我也遇到了和你一样的问题。我更新到最新的 React 版本:

npm install react@latest

然后安装了 0.4.0 版本的 React Schedule 包:

npm i [email protected] /cdn-cgi/l/email-protection --save-dev

并降级了react-redux

npm i [email protected] /cdn-cgi/l/email-protection

至少目前我的问题已经解决了,希望它能解决你的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 connect 时出错(react-redux 库的函数) 的相关文章

  • React Native - 在单元测试中模拟 FormData

    我在测试我的 thunk 时遇到问题 因为我的许多 API 调用都使用 FormData 而且我似乎不知道如何在测试中模拟它 我正在使用杰斯特 我的安装文件如下所示 import isomorphic fetch Mocking the g
  • 微前端架构中如何共享redux store?

    我正在尝试创建一个小项目来实现微前端架构 如下微前端 https martinfowler com articles micro frontends html文章 我正在为每个 MFE 微前端 创建多个存储库 并为该应用程序使用 Redux
  • React Native 的捆绑包是什么?它的用途是什么?

    我试图了解该捆绑包到底是什么以及它的目的是什么 我可以或不能用它做什么 我看到 当您运行命令 react native start 时 打包程序将被初始化 当您使用 react native run android 或 run ios 在设
  • 从本机代码访问 AsyncStorage

    我需要使用 JS 代码中的 AsyncStorage 将数据保存在本地存储中 我想知道是否有一种方法可以从本机代码 Objective C 或 Java 访问 AsyncStorage 存储的数据 Thanks 如果你导入RCTAsyncL
  • 我应该使用 redux-form 存储而不是组件状态和 Redux 自定义存储吗?

    我相信任何应用程序都应该有一个事实来源 我的应用程序将有 90 多种交易表格和 150 份报告 复杂的数据结构 父级 子级 计算 所以在 React 中我发现了三个令人困惑的存储状态的地方 组件状态 当我们don t想要共享数据 Redux
  • 在模拟器中启动应用程序后,“React Native run android”立即停止

    我正在尝试测试我的 Android 应用程序 但是当我启动它时react native run android命令在设备上启动后立即停止 不会出现错误 我懂了 This build could be faster please consid
  • 从父组件触发子组件内部的函数

    如何从父组件触发子组件内部的函数 以与抽屉导航相同的风格进行操作 他们这样做 this props navigation toggleDrawer 来自父母 我怎样才能做同样的事情 如果我正确理解你的问题 我认为你有点混淆了 您显示的示例是
  • 如何向 React 中的 onChange 函数传递附加参数

    所以 我遇到了这个问题 我这里有这种类型的元素 显然在更改输入时有事件 是否可以像这样传递参数并访问事件 如果是这样 我该怎么办 this function accepts two other params index stringValu
  • 单击通知时反应本机导航到特定屏幕

    我正在尝试在用户单击他们收到的通知时实现导航 我已成功收到通知expo notifications并接受来自 API 的数据 路由 但当用户单击通知时无法导航到另一个屏幕 使用通知 export default useNotificatio
  • React Native:约束 Animated.Value

    我正在制作一个 React Native 应用程序 场景是这样的 我希望用户能够平移视图 但不完全按照他想要的方式 我想约束视图被拖动时可以移动的距离由用户 我已经阅读了两者的文档PanResponder and AnimatedAPI 多
  • 将本机图像上传反应为表单数据

    Postman formdata 工作正常 但是返回 http 500 错误 这个块出了什么问题 响应 type default status 500 ok false statusText 未定义 标头 标头 标头 标头 map 确定 f
  • jest快照测试:如何忽略jest测试结果中的部分快照文件

    问题 忽略 snap 文件测试结果的某些部分 这里的问题是 我的测试中有一些组件具有随机值 我并不真正关心测试它们 有什么办法可以忽略我的 X snap 文件的一部分吗 因此 当我将来运行测试时 它不会给我测试失败的结果 现在您还可以使用属
  • 无法 HEAD 'https://jcenter.bintray.com/com/facebook/react/react-native/maven-metadata.xml'。从服务器收到状态代码 502:网关错误

    我正在尝试为 Android 构建我的 React Native 项目 并在 Windows 上收到以下错误 但它在 Mac 上工作 react native run android info Running jetifier to mig
  • KeyboardAvoidingView 适用于 EXPO 但不适用于 APK?

    我买了这个主题 它在 Expo 中运行完美 但是一旦我构建 APK 键盘就会覆盖整个屏幕 并且无法按预期工作 我正在使用 expo 进行测试 效果很好 return
  • 如何在React Native的MapView中设置标记

    我想在React Native中的MapView上设置一个标记 但是通过官方文档找不到任何信息MapView https facebook github io react native docs mapview html content 如
  • 为什么当我保存更改时,Expo 没有刷新?

    当我进行更改并保存它们时 模拟器中的应用程序不会刷新 我认为模拟器没有连接到 Metro 服务器 我尝试通过运行清除缓存expo r c 但这没有做任何事情 您是否尝试启用快速刷新 我遇到了同样的问题 但在启用 快速刷新 后 自动刷新再次开
  • ListView无法滚动

    正如你在所附的 GIF 中看到的 我无法滚动浏览ListView 一旦我释放鼠标 视图就会恢复到原始位置 我已经阅读了文档 似乎滚动应该只是工作 这是执行render render function return
  • 访问其他类的 this.state 值 [React Native]

    我只是想问如何从其他类访问 this state sampleString 这是我的代码 class MainClass extends Component constructor props super props this state
  • 找不到 -lDoubleConversion 的库

    我尝试在 XCode 上构建 但是ld library not found for lDoubleConversion发生错误 我可以建造react native run ios 这可行 但 XCode 无法构建 ld 警告 找不到选项 L
  • Expo eas-cli iOS 构建失败

    我已经使用 React Native 创建了一个应用程序 并尝试通过 Expo 的 eas cli 创建一个 iOS 应用程序商店 跑步时eas build platform ios the Fastlane build failed wi

随机推荐