2020/10/22 reParams(这是要返回的参数)或者billno未定义
2020/10/22
业务需求要返回一个billno参数,我在构造方法constructor里设定了reParams: { id: 6662333 },然后再接口接收参数params那里接收了参数,即
params: {
id: reParams.id,
}
随即而来的是,报了ReferenceError: reParams is not defined
接着我开始到处打印,我甚至在render里面也打印了reParams.billno(但事实上,我找错地方了)
接着我对比了以往的代码(🐶)发现少了一行代码。
原因就是,在接口里面调用的reParams没有被this.state调用,只要在调用前面加上const { reParams } = this.state;就可以了,如下:
// 获取 通知 数据 xxx = () => { // alert(666) const { reParams } = this.state; http({ method: 'get', api: 'xxx, params: { id: this.state.reParams.id, } }).then((result) => { const { status, msg, data } = result; let dataList; message.info(JSON.stringify(result.msg)) if (status === '0') { dataList = data; // message.info(data); this.setState({ noticeData: { list: dataList, total: Number(data.total) }, newsnum1: dataList.length, getLoading: false, }); } else { message.info(msg); } }).catch(() => { this.setState({ getLoading: false }); }); }
抑或则直接在reParams.id,前面加this.state。
最后,id是被写死的,在构造方法里面应该是动态的,这涉及到了props,记住构造方法里的错不要在render里面打印,哪里错了就在哪里打印。