2016-04-20 10 views
21

मुझे 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 
); 

और पेज चलता है, यह saids:

विफल propType: अमान्य प्रोप childrenProvider को आपूर्ति की, एक भी ReactElement

उम्मीद यह है मेरे संबंधित स्थापित नोड मॉड्यूल की सूची:

  • 15.0.1
  • प्रतिक्रिया प्रतिक्रिया-redux 4.4.5
  • redux 3.4.0

वास्तव में, मैं वर्तमान में सीख रहा हूँ Redux के साथ प्रतिक्रिया, तो यह मैं कैसे करना चाहिए मेरे लिए मुश्किल है। मैंने वेबसाइट पर ट्यूटोरियल का पालन किया है (मैं एक लिंक दे सकता हूं, लेकिन यह अंग्रेजी नहीं है) लेकिन यह सिर्फ उस त्रुटि संदेश के साथ काम नहीं कर रहा है। जैसा कि मैंने खोजा है, किसी ने प्रतिक्रिया और प्रतिक्रिया-रेडक्स के अपग्रेड संस्करण को कहा है, लेकिन मैंने नवीनतम संस्करण स्थापित किए हैं। कोई सलाह बहुत सराहना की जाएगी।

+0

आपके द्वारा देखी गई ट्यूटोरियल पुरानी हो सकती है। कृपया मेरा जवाब देखें। – wuct

उत्तर

15

the doc के अनुसार, आप <Provider /> के अंदर फ़ंक्शन के बजाय सामान्य प्रतिक्रिया तत्व का उपयोग कर सकते हैं।

नतीजतन, बस

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

करने के लिए अपने कोड बदलने मुझे लगता है कि इस [email protected] के बाद से बदल गया है।

0

मूल प्रश्न में एक टाइपो था। आपकी प्रतिक्रिया उचित वाक्यविन्यास में सही है।

हालांकि, प्रत्यक्ष कारण यह है कि <App /> को एक अलग लाइन पर होना आवश्यक है।

यदि आप इसे <Provider store={store}> के समान लाइन पर डालते हैं तो प्रतिक्रिया/Redux इसके साथ और अधिक करने की कोशिश करता है।

ReactDOM.render(
<Provider store={store}> 
    <App /> 
</Provider>, 
    document.getElementById('root') 
); 
संबंधित मुद्दे