programing

React 오류 'Failed propType: 잘못된 프로펠러 'children'이 'Provider'에 제공되었습니다. 단일 ReactElement가 필요합니다.'

bestprogram 2023. 3. 23. 23:16

React 오류 'Failed propType: 잘못된 프로펠러 'children'이 'Provider'에 제공되었습니다. 단일 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: 잘못된 프로펠러children에 공급된.Provider, React Element가 1개 필요합니다.

설치되어 있는 관련 노드모듈 목록을 다음에 나타냅니다.

  • 반응 15.0.1
  • 리액트백서x 4.4.5
  • 리덕스 3.4.0

사실 저는 현재 Redux를 사용하여 리액트를 배우고 있기 때문에 어떻게 해야 할지 어렵습니다.웹사이트 튜토리얼을 따라 했을 뿐인데(링크는 할 수 있지만 영어가 아닙니다) 에러 메시지가 표시되지 않습니다.검색해보니 react와 react-bydlx의 업그레이드 버전이 나왔는데, 최신 버전을 설치했습니다.어떤 조언이라도 해주시면 감사하겠습니다.

설명서에 따르면 내부 기능 대신 일반 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')
);

나는 여기에 오게 되었고 소품을 제공하는 것을 잊어버렸다.컴포넌트가 사용하고 있는 모든 소품을 제공하고 있는지 확인하고 수정해야 합니다.

언급URL : https://stackoverflow.com/questions/36735397/react-error-failed-proptype-invalid-prop-children-supplied-to-provider-ex