यदि ownProps
पैरामीटर निर्दिष्ट किया गया है, तो प्रतिक्रिया-रिडक्स उन प्रॉपर को पास करेगा जो घटक को आपके connect
कार्यों में पारित किए गए थे । तो, यदि आप इस तरह से जुड़े घटक का उपयोग करते हैं:
import ConnectedComponent from './containers/ConnectedComponent'
<ConnectedComponent
value="example"
/>
आपके ownProps
अंदर mapStateToProps
और mapDispatchToProps
कार्य एक वस्तु होगी:
{ value: 'example' }
और आप इस ऑब्जेक्ट का उपयोग यह तय करने के लिए कर सकते हैं कि उन कार्यों से क्या लौटना है।
उदाहरण के लिए, एक ब्लॉग पोस्ट घटक पर:
// BlogPost.js
export default function BlogPost (props) {
return <div>
<h2>{props.title}</h2>
<p>{props.content}</p>
<button onClick={props.editBlogPost}>Edit</button>
</div>
}
आप Redux एक्शन क्रिएटर्स को वापस कर सकते हैं जो उस विशिष्ट पोस्ट के लिए कुछ करते हैं:
// BlogPostContainer.js
import { bindActionCreators } from 'redux'
import { connect } from 'react-redux'
import BlogPost from './BlogPost.js'
import * as actions from './actions.js'
const mapStateToProps = (state, props) =>
// Get blog post data from the store for this blog post ID.
getBlogPostData(state, props.id)
const mapDispatchToProps = (dispatch, props) => bindActionCreators({
// Pass the blog post ID to the action creator automatically, so
// the wrapped blog post component can simply call `props.editBlogPost()`:
editBlogPost: () => actions.editBlogPost(props.id)
}, dispatch)
const BlogPostContainer = connect(mapStateToProps, mapDispatchToProps)(BlogPost)
export default BlogPostContainer
अब आप इस घटक का उपयोग इस तरह करेंगे:
import BlogPostContainer from './BlogPostContainer.js'
<BlogPostContainer id={1} />