从react-redux 5.0.5导入提供程序导致反应原生空白屏幕

问题描述:

无论我在我的渲染代码中使用提供程序还是不使用提供程序,我都会看到空白屏幕。然后,我发现即使我只是从react-redux导入提供程序,我也会得到一个空白屏幕。但是如果我注释掉​​,这些应用程序就可以成功运行。从react-redux 5.0.5导入提供程序导致反应原生空白屏幕

正如官方回购建议,我已检查没有安装npm ls react的重复反应模块,并且react-redux的版本高于5,这应该与react-native一起工作。

我应该如何解决问题? 谢谢。

App.js:

import React from 'react'; 
import { 
    Platform, 
} from 'react-native'; 

import { Router, Scene } from 'react-native-router-flux'; 
import { Provider } from 'react-redux'; 
import Home from './pages/Home'; 
import Chat from './pages/Chat'; 

export default class App extends React.Component { 
    render() { 
     return (
      <Router> 
       <Scene key='root' style={{paddingTop: Platform.OS === 'ios' ? 64 : 54}}> 
        <Scene key='home' title='Home' component={Home}/> 
        <Scene key='chat' title='Chat' component={Chat}/> 
       </Scene> 
      </Router> 
     ); 
    } 
} 

的package.json依赖关系:

"dependencies": { 
    "async-storage": "^0.1.0", 
    "body-parser": "^1.18.1", 
    "classnames": "^2.2.5", 
    "cookie": "^0.3.1", 
    "es6-promise": "^4.1.1", 
    "express": "^4.15.4", 
    "firebase": "^3.9.0", 
    "jsonwebtoken": "^8.0.1", 
    "mkdirp": "^0.5.1", 
    "moment": "^2.18.1", 
    "mongoose": "^4.11.11", 
    "morgan": "^1.8.2", 
    "multer": "^1.3.0", 
    "nodemailer": "^4.1.0", 
    "normalizr": "^3.2.3", 
    "object-assign": "^4.1.1", 
    "passport": "^0.4.0", 
    "passport-facebook": "^2.1.1", 
    "passport-jwt": "^3.0.0", 
    "prop-types": "^15.5.10", 
    "react": "16.0.0-alpha.12", 
    "react-native": "0.47.0", 
    "react-native-gifted-chat": "0.0.10", 
    "react-native-router-flux": "^4.0.0-beta.21", 
    "react-redux": "5.0.5", 
    "react-router-redux": "^4.0.8", 
    "redux": "^3.7.2", 
    "redux-form": "^7.0.4", 
    "redux-logger": "^3.0.6", 
    "redux-persist": "^4.9.1", 
    "redux-thunk": "^2.2.0", 
    "serialize-javascript": "^1.4.0", 
    "superagent": "^3.6.0", 
    "validator": "^8.2.0", 
    "webpack-isomorphic-tools": "^3.0.4" 
    } 
} 

你为什么不使用反应的成分。下面请看

import React, { Component } from 'react' 

使用反应,终极版的连接如

import { connect } from 'react-redux' 

export default connect(mapStateToProps, {sampleActionHere})(ComponentsName) 
+0

我不确定,但我认为扩展React.Component和Component没有区别。而且,我只在较低级别的组件(如我的示例中的Home和Chat)中使用连接。 顺便说一句,事实证明,我只需要更新react-redux来解决我的问题。 谢谢。 –

+0

我正在使用较低级别的连接。但我只使用反应中的组件,因为没有必要使用react-redux。很高兴你解决它。欢呼! –

我觉得我已经通过升级反应,终极版到5.0.6解决了这个问题。