redux-thunk
とaxios
.Iは`redux-thunk`を使って反応するときにajaxを呼び出す方法は?
簡単な方法
axios.get('data.json').then((data)=>{
console.log(data);
})
(このようなボタンのクリックコールで)JSONファイルからデータを取得したい使用して反応に私は、コールAJAXをしようとしています。しかし、私が使用したいですredux-thunk
。言い換えれば、私は使用するコンポーネントで購読する必要がありますthunk
ここではサンクを使用できますか?ここ は私のコードは、あなたがそれをチェックアウトする場合があります...この程度egghead.ioの良いチュートリアルはあり https://plnkr.co/edit/bcGI7cHjWVtlaMBil3kj?p=preview
const thunk = ReduxThunk.default;
const abc= (state={},action) => {
console.log('in redux', action.type)
switch(action.type){
case 'GET_DATA':
return dispatch =>{
return axios.get('data.json');
};
default :
return state;
}
}
const {createStore,bindActionCreators ,applyMiddleware } =Redux;
const {Provider,connect} =ReactRedux;
const store = createStore(abc,
applyMiddleware(thunk)
);
class First extends React.Component {
constructor (props){
super(props);
}
getDate(){
this.props.getData();
// axios.get('data.json').then((data)=>{
// console.log(data);
// })
}
render(){
return (
<div>
<button onClick={this.getDate.bind(this)}>GET DATA</button>
</div>
)
}
}
const actions = {
getData:() => {
return {
type: 'GET_DATA',
}
}
};
const AppContainer = connect(
function mapStateToProps(state) {
return {
digit: state
};
},
function mapDispatchToProps(dispatch) {
return bindActionCreators(actions, dispatch);
}
)(First);
ReactDOM.render(
<Provider store={store}>
<AppContainer/>
</Provider>
,document.getElementById('root'))