我在React Native中使用Redux。我正在尝试使用axios访问https://jsonplaceholder.typicode.com。
这是代码:
import React, {Component} from 'react'
import {View,Text,StyleSheet} from 'react-native';
import { connect } from 'react-redux';
import {getArticles} from '../Articles';
import {bindActionCreators} from 'redux';
class Articles extends Component{
componentDidMount(){
this.props.getArticles()
}
render(){
return(
<View>
<Text>Articles</Text>
</View>
)
}
}
function mapStateToProps(state){
return {
articles:state.articles
}
}
function mapDispatchToProps(dispatch){
return bindActionCreators({getArticles},dispatch);
}
export default connect(mapStateToProps,mapDispatchToProps)(Articles)
这是我要使用axios访问该链接的操作:
import axios from 'axios';
const URL = "https://jsonplaceholder.typicode.com"
export function getArticles(){
const request = axios.get(`${URL}/post`).then(response => response.data)
return{
type:"GET_ARTICLES",
payload: request,
}
}
我对此很陌生,所以也许我犯了一些愚蠢的错误。
谢谢!
答案 0 :(得分:0)
您为什么要尝试通过getArticles
作为道具?只需使用:
componentDidMount(){
getArticles()
}
答案 1 :(得分:0)
尝试一下。
componentDidMount(){
this.props.dispatch(getArticles())
}
或将存储导入到Component和
componentDidMount(){
store.dispatch(getArticles())
}