簡體   English   中英

反應錯誤'Failed propType:提供給`Provider`的無效道具`children`,期望一個ReactElement'

[英]React error 'Failed propType: Invalid prop `children` supplied to `Provider`, expected a single ReactElement'

我有一些React.js的問題。 這是我的代碼:

import React from 'react';
import { createStore } from 'redux';
import { Provider } from 'react-redux';
import App from './containers/App';
import todoApp from './reducers';

let store = createStore(todoApp);
let rootElement = document.getElementById('root');

React.render(
    <Provider store={store}>
        {() => <App />}
    </Provider>,
    rootElement
);

並運行頁面,它說:

propType失敗:提供給Provider無效prop children ,預期單個ReactElement

這是我相關的已安裝節點模塊的列表:

  • 反應15.0.1
  • react-redux 4.4.5
  • redux 3.4.0

實際上,我目前正在學習與Redux的React,所以我很難怎么做。 我只是按照網站上的教程(我可以提供一個鏈接,但它不是英文)但它只是沒有使用該錯誤消息。 當我搜索時,有人說反應和react-redux的升級版本,但我安裝了最新版本。 任何建議都會非常感激。

根據文檔 ,您可以使用普通的React元素而不是<Provider />中的函數。

因此,只需將代碼更改為

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

我認為自react@0.14以來這已經發生了變化。

最初的問題有一個錯字。 您的響應在正確的語法中是正確的。

但是,直接原因是<App />需要在一個單獨的行上。

如果你把它放在與<Provider store={store}>相同的行上,React / Redux會嘗試用它做更多的事情。

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

我被帶到了這里,我只是忘了提供道具。 我會說確保您提供組件正在使用的所有道具並且應該修復它。

暫無
暫無

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

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