Chào mọi người!Xử lý các cuộc gọi api trong Redux với Axios
Tôi là người mới bắt đầu sử dụng React và Redux, vì vậy hãy chịu đựng với tôi nếu điều này nghe hoàn toàn ngu ngốc. Tôi đang cố gắng để tìm hiểu làm thế nào tôi có thể thực hiện một số cuộc gọi API trong Redux và nó không phải tất cả sẽ tốt. Khi tôi điều khiển đăng nhập yêu cầu từ người tạo hành động, giá trị lời hứa luôn "không xác định" vì vậy tôi không chắc chắn liệu tôi có đang thực hiện điều này một cách chính xác hay không.
Mục tiêu của tôi là lấy thông tin từ dữ liệu bên trong đối tượng tải trọng và hiển thị chúng bên trong thành phần. Tôi đã cố gắng để có được điều này để làm việc cho những ngày qua và tôi hoàn toàn bị mất.
Tôi đang sử dụng Axios và lời hứa để xử lý cuộc gọi.
Mọi trợ giúp sẽ được đánh giá cao.
Đây là đầu ra từ bảng điều khiển.
Action Đấng Tạo Hóa
import axios from 'axios';
export const FETCH_FLIGHT = 'FETCH_FLIGHT';
export function getAllFlights() {
const request = axios.get('http://localhost:3000/flug');
console.log(request);
return {
type: FETCH_FLIGHT,
payload: request
};
}
Giảm
import { FETCH_FLIGHT } from '../actions/index';
export default function(state = [], action) {
switch (action.type) {
case FETCH_FLIGHT:
console.log(action)
return [ action.payload.data, ...state ]
}
return state;
}
Component
import React from 'react';
import { Component } from 'react';
import { connect } from 'react-redux';
import { bindActionCreators } from 'redux';
import { getAllFlights } from '../actions/index';
import Destinations from './Destinations';
class App extends Component {
componentWillMount(){
this.props.selectFlight();
}
constructor(props) {
super(props);
this.state = {
};
}
render() {
return (
<div>
</div>
);
}
function mapStateToProps(state) {
return {
dest: state.icelandair
};
}
function mapDispatchToProps(dispatch) {
return bindActionCreators({ selectFlight: getAllFlights }, dispatch);
}
export default connect(mapStateToProps, mapDispatchToProps)(App);
gì đã không làm việc cho bạn? Mã của bạn có vẻ OK. redux-promise muốn tải trọng là một lời hứa và có vẻ như đó là những gì bạn đang cung cấp. –