我试图让我的应用程序不要抱怨操作没有未定义的类型属性。
我已将我的客户端渲染设置如下:
import React from 'react';
import ReactDOM from 'react-dom';
import routes from './shared/routes';
import rootReducer from './shared/reducers';
import thunk from 'redux-thunk';
import { createStore, applyMiddleware } from 'redux';
import { Provider } from 'react-redux';
let initialState = window.__INITIAL_STATE_;
const store = createStore(rootReducer, initialState, applyMiddleware(thunk));
ReactDOM.render(
<Provider store={store}>
{routes}
</Provider>, document.getElementById('app'));
我认为哪种方法正确?
答案 0 :(得分:1)
是。在redux-thunk github页面中有一个如何使用它的很好的例子。
对于您的操作,如果它是异步操作,我使用此方法使用promises调度异步操作:
行动:
export function add({name, time}) {
return dispatch => {
dispatch({type: ADD});
return postJSON('/api/services', {
name,
time,
})
.then(service => {
dispatch({
type: ADD_SUCCESS,
service: service,
});
})
.catch(error => {
dispatch({
type: ADD_FAILURE,
error,
});
});
};
}
在我的组件中:
addService () {
const { dispatch } = this.props;
return (fields) => {
dispatch(add(fields));
dispatch(toggleAddForm());
};
}