React Promise - TypeError:无法读取属性'然后'未定义的

时间:2017-08-07 19:41:29

标签: javascript reactjs react-native es6-promise axios

我从以下调用中获取数据,该调用返回对象

function getPersonList() {
        const api = 'myapistring';
        axios.get(api).then(res => {
            console.log(res);
        }).catch(err => console.log(err));
}

1 - 但是当我点击componentDidMount时。承诺是破碎的,我不知道为什么。

2-此外,由于响应是一个对象,我是否通过将初始状态设置为空[]而做错了什么? - 我不确定将其设置为对象的语法是什么。

const App = React.createClass({
    getInitialState() {
        return {
            personList: [],
            visiblePersonList: []
        };
    },
    componentDidMount() {
         console.log(getPersonList(response));
        getPersonList().then((data) =>
            this.setState({
                data,
                visiblePersonList: data
            }));
        //return getPersonList;
    },
.....

谢谢大家!

1 个答案:

答案 0 :(得分:4)

你没有从getPersonList

返回任何内容
function getPersonList() {
    const api = 'myapistring';
    return axios.get(api).then(res => {  // FIX THIS LINE WITH return
        console.log(res);
    }).catch(err => console.log(err));
}