আমি একটি সাধারণ প্রতিক্রিয়া উপাদান পেয়েছি যা আমি সংযুক্ত হয়েছি (একটি সাধারণ অ্যারে / স্টেটের উপরে ম্যাপিং করছি)। স্টোরের প্রসঙ্গে প্রসঙ্গটি উল্লেখ করা থেকে বিরত রাখতে আমি প্রপস থেকে সরাসরি "প্রেরণ" পাওয়ার উপায় চাই। আমি অন্যদের এই পদ্ধতির ব্যবহার করতে দেখেছি তবে কোনও কারণে এটিতে অ্যাক্সেস নেই :)
আমি বর্তমানে ব্যবহার করছি প্রতিটি এনপিএম নির্ভরতার সংস্করণ এখানে
"react": "0.14.3",
"react-redux": "^4.0.0",
"react-router": "1.0.1",
"redux": "^3.0.4",
"redux-thunk": "^1.0.2"
এই উপাদানটি ডাব্লু / সংযোগ পদ্ধতিটি
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;
};
আপনার যদি দেখতে হয় যে আমার রাউটারটি ডাব্লু / রিডুএক্স কীভাবে কনফিগার করা আছে
const createStoreWithMiddleware = applyMiddleware(
thunk
)(createStore);
const store = createStoreWithMiddleware(reducers);
var Route = (
<Provider store={store}>
<Router history={createBrowserHistory()}>
{Routes}
</Router>
</Provider>
);
হালনাগাদ
দেখে মনে হচ্ছে যদি আমি আমার নিজস্ব প্রেরণটি সংযোগটিতে বাদ দিই (বর্তমানে উপরে আমি ফ্যাচ-ইউজার দেখাইছি), আমি প্রেরণ বিনামূল্যে পাব (ঠিক কীভাবে এটি সেটআপ ডাব্লু / অ্যাসিঙ্ক ক্রিয়াকলাপগুলি কার্যকরভাবে কাজ করবে কিনা তা নিশ্চিত নয়)। লোকেরা কি মিশে যায় এবং মিলবে নাকি সব কিছুই নাকি কিছু না?
[MapDispatchToProps]
bindActionCreators(actionCreators, dispatch)
? আমি আপনার কোডটি// es7 spread syntax
লাইনে লক্ষ্য করেছি , এটিdispatch
পাস করা হয়নিbindActionCreators