React.children.lyly devrait recevoir un seul élément de réaction enfant Navigator

J'ai essayé trop d'aide de sujet mais cela ne m'aide pas à corriger cette erreur, peut-être parce que je suis novice pour réagir-natif.

Voici le code qui donne l'erreur.

render() { return ( <Provider store={store}> <Navigator initialRoute={{ name: 'Wake' }} configureScene={(route, routeStack) => Navigator.SceneConfigs.FloatFromBottom} renderScene={RouteMapper} /> <Tabs /> </Provider> ); } 

"React.children.lyly devrait recevoir un seul élément de réaction" Je reçois cette erreur lorsque je l'exécute. Aidez-vous. Je suis conscient qu'il y a beaucoup d'autres sujets affichés similaires, mais aucun ne donne une solution correcte à mon problème.

Le composant reac-redux <Provider /> s'attend à ce que son support enfant soit un seul ReactElement, le composant racine de votre application. C'est probablement de l'origine de cette erreur.

Props

  • Store (Redux Store): le magasin Redux unique dans votre application.
  • Children (ReactElement) La racine de votre hiérarchie des composants.

Exemple

 ReactDOM.render( <Provider store={store}> <MyRootComponent /> </Provider>, rootEl ); 

Source: https://github.com/reactjs/react-redux/blob/master/docs/api.md#provider-store

Le composant Provider de redux s'attend à avoir un seul enfant. Vous passez deux enfants, Navigator et Tabs. Enroulez tout à l'intérieur du fournisseur dans un seul composant.

Les réponses ci-dessus ne vous ont pas donné un exemple de code, j'ajoute un code qui s'applique à votre situation:

 const Root = () => { return ( <Navigator initialRoute={{ name: 'Wake' }} configureScene={(route, routeStack) => Navigator.SceneConfigs.FloatFromBottom} renderScene={RouteMapper} /> <Tabs /> ) } render() { return ( <Provider store={store}> <Root /> </Provider> ); } 

Vous avez essentiellement besoin d'envelopper vos composants Nav et Tabs à l'intérieur d'un composant Root pour le rendre dans le composant Provider, comme indiqué dans d'autres réponses. J'espère que cela t'aides!