[英]React Native - Nothing was returned from render
我的应用程序存储在 /src/index.js 中,但我也有一个 /App.js 和一个 /index.js。
我不知道这些之间的区别,我认为这就是我得到这个错误的原因。
/index.js
import { AppRegistry } from 'react-native';
import App from './App';
AppRegistry.registerComponent('client', () => App);
/App.js
import App from './src/index';
export default App;
/src/index.js
import React from 'react';
import { AppRegistry } from 'react-native';
import { Provider, connect } from 'react-redux';
import { addNavigationHelpers } from 'react-navigation';
import Navigator from './routes/route';
import store from './store/configureStore';
const App = ({ dispatch, nav }) => {
<Navigator
navigation={addNavigationHelpers({
dispatch,
state: nav,
})}
/>
};
const mapStateToProps = state => ({
nav: state.nav,
});
const AppWithNavigation = connect(mapStateToProps)(App);
export default () => {
<Provider store={store}>
<AppWithNavigation />
</Provider>
}
我使用 create react native package 来构建这个项目,然后尝试按照一些指南使用 redux 实现反应导航。
您的默认导出不返回任何内容:
export default () => {
<Provider store={store}>
<AppWithNavigation />
</Provider>
}
要使用箭头函数返回JSX,您需要使用() => ( <JSX /> )
或带花括号的等效项: () => { return ( <JSX /> ) }
:
export default () => (
<Provider store={store}>
<AppWithNavigation />
</Provider>
)
要么 :
export default () => {
return (
<Provider store={store}>
<AppWithNavigation />
</Provider>
)
}
你忘了return
components
const App = ({ dispatch, nav }) => {
return(
<Navigator
navigation={addNavigationHelpers({
dispatch,
state: nav,
})}
/>
)
};
export default () => {
return(
<Provider store={store}>
<AppWithNavigation />
</Provider>
)
}
我没有提到这个
import React from 'react';
以及我其他屏幕文件中的所有其他react-native
组件。
因为我是从 App.js 文件中的另一个文件调用我的屏幕组件,所以我也必须在该文件中导入 react 和 react-native 组件。
有很多原因,例如,如果您使用 function 组件或 class 组件。 如果它显示这种错误 Solve - Nothing was returned from render 反应中的错误,这意味着您忘记在 function 组件或 class 组件中添加返回
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.