मुझे एक सरल रिएक्ट घटक मिला है जिसे मैं कनेक्ट करता हूं (एक साधारण सरणी / स्थिति को मैप करना)। स्टोर के लिए संदर्भ को संदर्भित करने से रखने के लिए, मैं सीधे प्रॉप्स से "प्रेषण" प्राप्त करने का एक तरीका चाहूंगा। मैंने दूसरों को इस दृष्टिकोण का उपयोग करते देखा है, लेकिन किसी कारण से इस तक पहुंच नहीं है :)
यहां प्रत्येक npm निर्भरता के संस्करण दिए गए हैं जो मैं वर्तमान में उपयोग कर रहा हूं
"react": "0.14.3",
"react-redux": "^4.0.0",
"react-router": "1.0.1",
"redux": "^3.0.4",
"redux-thunk": "^1.0.2"
यहाँ घटक w / कनेक्ट विधि है
class Users extends React.Component {
render() {
const { people } = this.props;
return (
<div>
<div>{this.props.children}</div>
<button onClick={() => { this.props.dispatch({type: ActionTypes.ADD_USER, id: 4}); }}>Add User</button>
</div>
);
}
};
function mapStateToProps(state) {
return { people: state.people };
}
export default connect(mapStateToProps, {
fetchUsers
})(Users);
यदि आपको रिड्यूसर (रोमांचक कुछ भी नहीं है, लेकिन यह देखना है)
const initialState = {
people: []
};
export default function(state=initialState, action) {
if (action.type === ActionTypes.ADD_USER) {
let newPeople = state.people.concat([{id: action.id, name: 'wat'}]);
return {people: newPeople};
}
return state;
};
यदि आपको यह देखने की आवश्यकता है कि मेरा राउटर w / redux कैसे कॉन्फ़िगर किया गया है
const createStoreWithMiddleware = applyMiddleware(
thunk
)(createStore);
const store = createStoreWithMiddleware(reducers);
var Route = (
<Provider store={store}>
<Router history={createBrowserHistory()}>
{Routes}
</Router>
</Provider>
);
अपडेट करें
ऐसा लगता है कि अगर मैं कनेक्ट में अपना स्वयं का डिस्पैच छोड़ता हूं (वर्तमान में ऊपर मैं fetchUsers दिखा रहा हूं), तो मुझे डिस्पैच फ्री मिलेगा (बस यह निश्चित नहीं है कि यह सेटअप w / async क्रिया आमतौर पर कैसे काम करेगी)। क्या लोग मिश्रण करते हैं और मेल खाते हैं या यह सब है या कुछ भी नहीं है?
[MapDispatchToProps]
bindActionCreators(actionCreators, dispatch)
वैकल्पिक में दूसरा पैरामीटर है ? मैंने// es7 spread syntax
लाइन में आपके कोड पर ध्यानdispatch
दियाbindActionCreators