首页 > 解决方案 > 错误:元素类型无效:预期为字符串(用于内置组件).......升级本机版本后

问题描述

当我从 android 手机打开我的应用程序时,我收到以下错误。用于在 react-native 版本 0.55.3 上正常工作的代码。但自从我升级后,它开始给我错误。 错误截图

反应原生版本 0.63.3

我的根目录中有 index.tsx,如下所示:

  import { AppRegistry } from 'react-native';
  import App from './src/App';
   
  AppRegistry.registerComponent('awesomeapp', () => App);

和我的 app.tsx 如下:

import Intl from 'intl';
import {Provider} from 'react-redux';
import {ActivityIndicator, Text, YellowBox} from 'react-native';
import {ThemeProvider} from 'react-native-material-ui';
import {IntlProvider} from 'react-intl';
import {uiTheme} from './styles';
import store, {persistor} from './store';
import {PersistGate} from 'redux-persist/integration/react';

import Root from './components/Root';
import {configureLocaleData, getLocale, getMessagesByLocale} from "./i18n/i18n";

(window as any).Intl = Intl;   
 class App extends React.Component<any> {
    
        renderLoading = () => (
            <ActivityIndicator size="large"/>
        );
    
        render() {
            const locale: string = getLocale();
            configureLocaleData(locale);
            console.log("Locale is " + locale);
            const message = getMessagesByLocale(locale);
    
            return (
                <IntlProvider locale={locale} textComponent={Text} messages={message}>
                    <ThemeProvider uiTheme={uiTheme}>
                        <Provider store={store}>
                            <PersistGate persistor={persistor} loading={this.renderLoading()}>
                                <Root/>
                            </PersistGate>
                        </Provider>
                    </ThemeProvider>
                </IntlProvider>
            )
        }
    }
    
    export default App;

非常感谢有关此错误的任何帮助。

标签: androidreact-nativereact-reduxreact-intl

解决方案


推荐阅读