2016-12-30 119 views
1
的方法

我使用阵营本地为建设Android应用阵营本地组件不工作检查渲染应用

我试图导入组件index.android.js文件位于app/containers/AppContainer.js

当运行我得到THI错误的代码:

元类型无效:预期的字符串(用于内置组件)或类/功能(用于复合组件),但得到:未定义。检查的App

渲染方法,这是我的index.android.js文件:

import React, { Component } from 'react'; 

import { createStore,Provider, applyMiddleware, combineReduxers, compose } from 'redux'; 
import thunkMiddleware from 'redux-thunk'; 
import createLogger from 'redux-logger'; 


import { AppRegistry } from 'react-native'; 
import { expect,assert } from 'chai'; 

import reducer from './app/reducers'; 
import AppContainer from './app/containers/AppContainer' 

const loggerMiddleware = createLogger({ predicate: (getState,action) => __DEV__ }); 

function configureStore (initialState) { 
const enhancer = compose(
     applyMiddleware(
     thunkMiddleware, 
     loggerMiddleware, 
    ), 
    ); 
    return createStore(reducer, initialState, enhancer); 
} 

const store = configureStore({}); 



const App =() => (
    <Provider store={store}> 
    <AppContainer /> 
    </Provider> 
) 

AppRegistry.registerComponent('Appetizing',() => App); 

,这是我AppContainer.js文件:

import React, { Component } from 'react' 
import ReactNative from 'react-native' 
const { 
    View, 
    Text, 
} = ReactNative 

class AppContainer extends Component{ 

render(){ 
    return <View> 
    <Text style={{marginTop: 20}}> 
    I am app container 
    </Text> 
    </View> 
    } 

} 


export default AppContainer 
+0

你试过从'.app/containers/AppContainer''导入{AppContainer}吗? – G0dsquad

+0

@ G0dsquad是的,没有用。我得到了同样的错误。 – userfi

+0

如果我包含组件并将其呈现在标准视图中,您的代码实际上对我来说工作得很好,例如home.js(而不是'index.android.js')。 – G0dsquad

回答

1

您的问题是在这条线:

import { createStore,Provider, applyMiddleware, combineReduxers, compose } from 'redux';

的命名方式进口ES6工作是,如果名称不存在,它只是作为undefined初始化,所以当试图呈现<Provider>,反应抱怨。

您正在寻找的Provider包含react-redux包,除了redux之外,还需要安装该包。你的代码应该是这样的:

import { createStore, applyMiddleware, combineReduxers, compose } from 'redux'; 
import {Provider} from 'react-redux'; 
0

尝试以下在AppContainer.js

import React, { Component } from 'react' 
import ReactNative from 'react-native' 
const { 
    View, 
    Text, 
} = ReactNative 

export default class AppContainer extends Component{ 

render(){ 
    return <View> 
    <Text style={{marginTop: 20}}> 
    I am app container 
    </Text> 
    </View> 
    } 

} 
+0

谢谢,但没有解决我的问题,我得到了同样的错误 – userfi

0

尝试将您的应用程序更新为此。

const App = React.createClass({ 
    render: function() { 
    return (
     <Provider store={store}> 
     <AppContainer /> 
     </Provider> 
    ) 
    } 
}); 
+0

没有解决我的问题,我得到了同样的错误:( – userfi