javascript - react promise - TypeError : Cannot read property 'then' of undefined

标签 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 时。 promise 违背了,我不知道为什么。

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

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

谢谢大家!

最佳答案

你没有从 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));
}

关于javascript - react promise - TypeError : Cannot read property 'then' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45554553/

相关文章:

javascript - 将 React 应用程序作为后台进程运行

javascript - super(props) 为我的 React 组件做了什么?

javascript - 是否有用于 react native 的安全存储或安全本地数据库?

reactjs - 在 React Native 上将缓冲区图像解析为 base64

javascript - 分配在 javascript 中动态创建的图像源

javascript - 如何将变量数据传递给createFragmentContainer

JavaScript 照片 slider

javascript - 使用 javascript 获取系统信息,即 PC、平板电脑、手机等

javascript - 如果不满足条件,我可以为Axios Get Method写一个if/else语句吗?

ios - react native 相机 : Access snapped image