react-native - 使用连接时出错(react-redux 库的功能)
问题描述
我有一个组件类,我正在使用 react-redux 连接 redux 存储,但是当我尝试将组件传递给 connect 函数时出现错误。
_react.default.memo 不是一个函数。(在 '_react.default.memo(ConnectFunction) 中,'_react.default.memo' 未定义)
wrapWithConnect C:\Users\SESA506797XmobileApp Gatherman\node modul es react-redux\lib\components connectAdvanced.js: 339:45
这是调用 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
然后安装了 react schedule 包的 0.4.0 版本:
npm i schedule@0.4.0 --save-dev
并将 react-redux 降级为
npm i react-redux@6.0.1
至少目前我的问题已解决,希望它适用于您的问题。
推荐阅读
- objective-c - NSTextField 和 NSTouchbar
- python - How to send a packet over and over until response (Scapy)
- python - 如何在 Scrapy 上实现自定义代理?
- python - Python函数内部函数访问全局变量
- php - 如何在php中读取包含合并单元格的excel文件?
- javascript - http_only = false 时不在 document.cookie 列表中的 cookie
- mysql - 很难根据允许的最大连接数正确设置 RAILS_MAX_THREADS
- shopware - 如何在 Shopware 5 的 Enlight_Event_EventArgs 对象订阅者中执行重定向?
- javascript - 限制 Loopback 4 查询中属性的长度数组类型?
- python - 以数字方式查找正根