簡體   English   中英

Provider中的prop子項無效

[英]Invalid prop children in Provider

過去幾周我一直在學習React。
首先使用簡單的React開發了一個簡單的聊天,現在我開始將Redux集成到我的應用程序中。

我添加了一個簡單的Action,一個匹配的Reducer(以及一個root reducer)和一個Store。 然后我到達了需要使用react-redux庫中的Provider的部分:

import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import { Router, browserHistory } from 'react-router';
import ConfigureStore from './Store/ConfigureStore';
import Routes from './Routes';

const store = ConfigureStore();
ReactDOM.render(
    <Provider store={store}>
        <Router history={browserHistory}
            routes={Routes} />,
    </Provider>,
    document.getElementById('root')
);

應用程序編譯正常,但我在控制台中收到以下錯誤:

警告:失敗的prop類型:提供給Provider的類型為array無效prop children項,期望單個ReactElement。 在提供者

未捕獲的不變違規:React.Children.only預計會收到一個React元素子。

我正在使用React Create App作為入門套件。

完整代碼可以在這里找到。

<Router history={browserHistory} routes={Routes} />之后,您有一個

嘗試刪除它?

同樣的錯誤:

警告:失敗的prop類型:提供給Provider的類型為array無效prop children項,期望單個ReactElement。

未捕獲的錯誤:React.Children.only預計會收到一個React元素子元素。

使用以下格式編寫Provider時發生在我身上:

<Provider store={store}> <App4Connected /> </Provider>

而是以下工作正常:

<Provider store={store}>
    <App4Connected />
</Provider>

對我來說,用這種格式寫錯了:

ReactDOM.render(<Provider store={store}> <App /> </Provider>, document.getElementById('root'));

但這很好用:

ReactDOM.render(
    <Provider store={store}> 
        <App /> 
    </Provider>, 
    document.getElementById('root'));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM