2017-02-27 19 views
9

के साथ स्थान परिवर्तन पर कार्रवाइयों को प्रेषित करने के लिए कैसे मैं रेडक्स के साथ react-router-4.0.0-beta.4 का उपयोग कर रहा हूं, मैं मार्ग परिवर्तन पर कार्रवाइयों को प्रेषित करने का सबसे अच्छा तरीका जानने का प्रयास कर रहा हूं। मैं देखता हूं कि कुछ संस्करण पहले इस here के लिए एक एपीआई/इवेंट हुक था। लेकिन मुझे लगता है कि अब यह चला गया है। redux-router के आधुनिक समकक्ष करने की कोशिश कर रहा था।प्रतिक्रिया राउटर v4

उत्तर

2

ऐसा लगता है कि एक क्रिया को प्रेषित करने का सबसे अच्छा तरीका घटक के componentWillMount(), componentDidMount() या componentWillUnmount() विधियों पर ऐसा करना है।

ध्यान न दें वत्स नीचे

onEnter प्रोप नहीं है। यहाँ comet-frontend

onEnter की तरह (nextState, की जगह, कॉलबैक?)

कहा जाता है जब एक मार्ग के बारे में दर्ज किए जाने की है। यह अगले राउटर राज्य और किसी अन्य पथ पर रीडायरेक्ट करने के लिए एक फ़ंक्शन प्रदान करता है। यह होगा जो रूट उदाहरण था जो हुक को ट्रिगर करता था। https://github.com/ReactTraining/react-router/blob/master/docs/API.md#onenternextstate-replace-callback

लेकिन, वहां अभी भी onChange प्रोप, कर आप वास्तव में क्या वर्णित है। शायद हमें बताएं कि आपकी समस्या वास्तव में क्या है। ऐसा लगता है जैसे आप कुछ गलत कर रहे हैं।

+0

ठीक काम कर सकते हैं की चर्चा देख सकते हैं, मैंने सोचा था कि यह हो सकता है, मैं इस ओर इशारा करते GitHub पर कुछ विचार विमर्श देखा। मैंने 'ऑन चेंज' प्रोप वर्बैटिम का उपयोग करने की कोशिश की और यह काम नहीं कर रहा था। यह अच्छा होगा अगर 'ब्राउज़ररटर' में स्थान परिवर्तनों के लिए "वैश्विक" हुक था। – Lutando

+0

हाँ। मैं वास्तव में समझ में नहीं आता कि उन्होंने उन प्रोपों से छुटकारा पाने का फैसला क्यों किया। यह कोड साफ रखता है। –

0

तो आपको अपने मुख्य अनुप्रयोग घटक को withRouter में लपेटना होगा और उदाहरण के लिए props.location.pathname नामक प्रोप में बदल रहे प्रोप के आधार पर प्रतिक्रिया देना होगा।

आप कैसे इसे यहाँ https://github.com/ReactTraining/react-router/issues/4603

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