Доброй ночи всем, хорошо, что я пытаюсь сделать, это ввести axios с помощью bind в функцию loadUA, но при импорте по умолчанию в компонент я получаю эту ошибку.Причина в том, что я хочу исключить зависимость аксиона в методе, чтобы я мог выполнять тест более легко, без привязки в нагрузке, все работает, но я не могу вводить оси путем привязки и использовать метод в компоненте.
Компонент
import React from 'react';
import { connect } from 'react-redux';
import loadUA from './actions'
class UserAgent extends React.Component {
componentDidMount(){
this.props.loadUA()
}
render(){
if(this.props.isFetching){
return <span> Loading ...</span>
}
if(this.props.error){
return <span>Error</span>
}
return (
<span>{this.props.data['user-agent']}</span>
)
}
}
const mapStateToProps = (state) => {
return {
isFetching: state.UA.isFetching,
data: state.UA.data,
error: state.UA.error
}
}
const mapDispatchToProps = (dispatch) =>{
return {
loadUA: () => dispatch(loadUA())
}
}
export default connect( mapStateToProps, mapDispatchToProps )(UserAgent)
действие
import axios from 'axios'
export const loadUARequest = () => {
return {
type: 'LOAD_UA_REQUEST'
}
}
export const loadUASuccess = (data) => {
return{
type: 'LOAD_UA_SUCCESS',
data
}
}
export const loadUAError =() =>{
return{
type: 'LOAD_UA_ERROR'
}
}
export const loadUA = (axios) => {
return dispatch => {
dispatch(loadUARequest())
axios
.get('https://httpbin.org/user-agent')
.then(({data}) => dispatch(loadUASuccess(data)))
.catch(() => dispatch(loadUAError()))
}
}
export default {
loadUA: loadUA.bind(null, axios)
}
Ошибка