![](/img/trans.png)
[英]ReactQuill (rich text) - Error: React.Children.only expected to receive a single React element child - React
[英]React.children.only expected to receive a single react element child Navigator
我尝试了太多的主题帮助,但这并没有帮助我修复这个错误,也许因为我是新手反应原生。
这是给出错误的代码。
render() {
return (
<Provider store={store}>
<Navigator
initialRoute={{ name: 'Wake' }}
configureScene={(route, routeStack) => Navigator.SceneConfigs.FloatFromBottom}
renderScene={RouteMapper}
/>
<Tabs />
</Provider>
);
}
“React.children.only预计会收到一个反应元素的孩子”我在运行时遇到此错误。 请帮忙。 我知道有很多其他主题发布相似,但没有一个给我一个正确的解决方案。
react-redux <Provider />
组件期望其子prop成为单个ReactElement,它是应用程序的根组件。 这可能就是这个错误的来源。
道具
- store(Redux Store):应用程序中的单个Redux存储。
- children(ReactElement)组件层次结构的根。
例
ReactDOM.render( <Provider store={store}> <div> <MyRootComponent/> <OtherComponent1/> <OtherComponent2/> // {...} as longer you let the component inside one global component // - here the divs - React considers you have only one child. That it. </div> </Provider>, rootEl );
资料来源: https : //github.com/reactjs/react-redux/blob/master/docs/api.md#provider-store
上面的答案没有给你一个代码示例,我将添加一些适用于你的情况的代码:
const Root = () => {
return (
<div>
<Navigator
initialRoute={{ name: 'Wake' }}
configureScene={(route, routeStack) => Navigator.SceneConfigs.FloatFromBottom}
renderScene={RouteMapper}
/>
<Tabs />
</div>
)
}
render() {
return (
<Provider store={store}>
<Root />
</Provider>
);
}
您基本上需要在Root组件中包装Nav和Tabs组件,以在Provider组件中呈现它,如其他答案中所述。 希望这可以帮助!
redux的Provider组件期望只有一个子组件。 你传给它两个孩子,Navigator和Tabs。 将Provider中的所有内容包装在单个组件中。
可能会迟到,但你可以在你的Navigator和Tab周围包装React.Fragment
来解决这个错误。 https://reactjs.org/docs/fragments.html
render() {
return (
<Provider store={store}>
<React.Fragment>
<Navigator
initialRoute={{ name: 'Wake' }}
configureScene={(route, routeStack) => Navigator.SceneConfigs.FloatFromBottom}
renderScene={RouteMapper}
/>
<Tabs />
</React.Fragment>
</Provider>
);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.