2016-02-17 7 views
10

मैं किसी भी विशेष कॉन्फ़िगरेशन सेटिंग्स में नहीं जा रहा हूं और न ही मैं सेटिंग/या कॉलिंग को नष्ट कर रहा हूं ... लेकिन मेरी स्थिति साफ हो रही है ... वैसे भी इसे रोकने के लिए? मुझे राज्य को चारों ओर टिकने की जरूरत है क्योंकि मुझे अपने आवेदन के माध्यम से उस डेटा की आवश्यकता है।रेडक्स-फॉर्म घटक को अनमाउंट करने के बाद मेरे राज्य को नष्ट कर रहा है, क्या देता है?

prev state: I see it in there... via redux-logger 
action: redux-form/Destroy 
next state: it's gone. 
+0

मुझे एक ही समस्या है। मैं एक लॉगिन पेज बना रहा हूँ। जब तक मैं लॉगिन फॉर्म नहीं दिखाता तब तक यह ठीक काम करता है और मेरा राज्य 'रेडक्स-फॉर्म/डेस्ट्रो' से मिटा दिया जाता है। क्या आपको कोई समाधान पता चला? –

+1

ऐसा लगता है कि मेरे मामले में यह प्रोग्रामर त्रुटि थी। शायद यह किसी और की मदद करता है जिसने वही गलती की है। मेरा reducer केवल 'राज्य' के बजाय डिफ़ॉल्ट मामले के लिए 'प्रारंभिकस्टेट' वापस कर रहा था। अब तय –

उत्तर

27

प्रपत्र के राज्य सबट्री नष्ट जब फार्म, अनमाउंट किया है डिजाइन कर रहा है। यह डिफ़ॉल्ट और अपेक्षित व्यवहार है।

v6.2.1 के बाद से वहाँ एक रूप config संपत्ति destroyOnUnmount, जो स्पष्ट रूप से सक्षम बनाता है/है एक विशिष्ट रूप पर राज्य के समाशोधन व्यवहार को निष्क्रिय आप एक रूप है जिसका जब (docs here)

import { reduxForm } from 'redux-form'; 

reduxForm({ 
    form: 'example', 
    destroyOnUnmount: false 
})(...) 

यह उपयोगी है राज्य जिसे आप संरक्षित करना चाहते हैं, यदि उपयोगकर्ता इसे आधी से छोड़ देता है, फिर भी नेविगेट करता है, और फिर बाद में लौटाता है।

+1

यह अब v6.2.1 के रूप में काम कर रहा है: https://github.com/erikras/redux-form/releases/tag/v6.2।1 –

+0

@MattDell धन्यवाद, – davnicwil

+0

अपडेट किया गया मेरी स्थिति में मुझे 'saveDnUnmount: false' के अलावा' keepDirtyOnReinitialize: true' जोड़ने की भी आवश्यकता है। – Pete

2

आप शायद तुम्हारा में redux-forms के राज्य विलय कर रहे हैं, तो आप इसे अलग कुंजी के अंतर्गत होना चाहिए। Destroy एक्शन रिफ्रेंस अपरिभाषित है, जो ठीक है, अगर रेडक्स-फॉर्म रेड्यूसर केवल स्टोर के हिस्से का प्रबंधन करता है।

सुनिश्चित करें कि आप इस ट्यूटोरियल में कदम # 1 का पालन कर रहे हैं, विशेष रूप form: formReducer हिस्सा बनाएं: https://redux-form.com/7.2.3/docs/gettingstarted.md/#step-1-of-4-form-reducer

+0

हाँ, मेरा मानना ​​है कि मेरे पास सब कुछ तार है .. बस अजीब .. मैं सबकुछ फिर से जांचूंगा - धन्यवाद। –

+0

लिंक उपलब्ध नहीं है :( –

0

मैं व्यक्तिगत रूप से हाल ही में

enter image description here

enter image description here

कहाँ Redux फार्म का उपयोग कर एक कार्रवाई भेजने और कम करने के माध्यम से जाने के बाद, redux फार्म प्रेषण कार्रवाई को नष्ट कर यह एक ही मुद्दे में भाग गया। ब्रेनन चेंग टिप्पणी ने मुझे यह महसूस करने में मदद की कि जिस राज्य में मैं अपने रेड्यूसर में लौट रहा/संशोधित कर रहा था, उसमें जानकारी खो दी गई थी जिसे स्टोर में वापस भेजा गया था। इसे ठीक करने के बाद, रेडक्स फॉर्म स्वचालित रूप से नष्ट कार्रवाई को प्रेषित नहीं करता है।

उदाहरण के लिए: प्रारंभ में, मैं इस लौट रहा था:

[ 
     { 
     "id": "dd8684f0-8a8a-11e7-97ac-8350cad5200c", 
     "timestamp": 1503771468479, 
     "body": "comment2", 
     "author": "author2", 
     "parentId": "ee6a6c5c-1821-4280-80b7-90fa97137137", 
     "voteScore": 1, 
     "deleted": false, 
     "parentDeleted": false 
     } 
    ] 

जब मैं वास्तव में वापस जाने के लिए इस

{ 
     "ee6a6c5c-1821-4280-80b7-90fa97137137": { 
     "id": "ee6a6c5c-1821-4280-80b7-90fa97137137", 
     "timestamp": 1502253747021, 
     "title": "this is a title", 
     "body": "this is another body", 
     "author": "author2", 
     "category": "category1", 
     "voteScore": 2, 
     "deleted": false, 
     "comments": [ 
      { 
      "id": "dd8684f0-8a8a-11e7-97ac-8350cad5200c", 
      "timestamp": 1503771468479, 
      "body": "comment2", 
      "author": "author2", 
      "parentId": "ee6a6c5c-1821-4280-80b7-90fa97137137", 
      "voteScore": 1, 
      "deleted": false, 
      "parentDeleted": false 
      } 
     ] 
     } 
    } 

तो निश्चित रूप से जाँच क्या राज्य आप की दुकान करने के लिए लौट रहे हैं मतलब है। उममीद है कि इससे मदद मिलेगी!

+0

का उपयोग कर रहा हूं क्या आप बस इतना कह रहे हैं कि आप अपने reducer में अपने कुछ राज्य पदानुक्रम को गलती से मिटा रहे थे? –

+0

का क्रमबद्ध करें .. जब मुझे लगता था कि मैंने पूरे राज्य को वापस नहीं किया था। {... राज्य} का उपयोग करने की आवश्यकता है –

संबंधित मुद्दे