Saya memiliki komponen React sederhana yang saya hubungkan (memetakan array / status sederhana). Untuk menghindari referensi konteks untuk toko, saya ingin cara untuk mendapatkan "pengiriman" langsung dari alat peraga. Saya telah melihat orang lain menggunakan pendekatan ini tetapi tidak memiliki akses ke ini karena beberapa alasan :)
Ini adalah versi dari setiap ketergantungan npm yang saya gunakan saat ini
"react": "0.14.3",
"react-redux": "^4.0.0",
"react-router": "1.0.1",
"redux": "^3.0.4",
"redux-thunk": "^1.0.2"
Berikut adalah metode komponen w / hubungkan
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);
Jika Anda perlu melihat peredam (tidak ada yang menarik selain ini dia)
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;
};
Jika Anda perlu melihat bagaimana router saya dikonfigurasi w / redux
const createStoreWithMiddleware = applyMiddleware(
thunk
)(createStore);
const store = createStoreWithMiddleware(reducers);
var Route = (
<Provider store={store}>
<Router history={createBrowserHistory()}>
{Routes}
</Router>
</Provider>
);
memperbarui
Sepertinya jika saya menghilangkan pengiriman saya sendiri di koneksi (saat ini di atas saya menunjukkan fetchUsers), saya akan mendapatkan pengiriman gratis (hanya tidak yakin apakah ini adalah cara penyiapan w / tindakan asinkron biasanya berfungsi). Apakah orang mencampur dan mencocokkan atau semuanya atau tidak sama sekali?
[mapDispatchToProps]
bindActionCreators(actionCreators, dispatch)
opsional? Saya perhatikan di kode Anda di// es7 spread syntax
telepon,dispatch
tidak diteruskan kebindActionCreators