关于this
来源:4-3 使用动态路由获取不同列表内容(3)
哎呦啊狗蛋
2019-08-08 13:54:37
componentWillReceiveProps(nextProps) { const id = nextProps.match.params.id; //为什么这里不需要加this了 axios.get('http://www.dell-lee.com/react/api/list.json?id=' + id) .then(res => { this.setState({ data: res.data.data }); }) }
componentDidMount() { let url = 'http://www.dell-lee.com/react/api/list.json'; const id = this.props.match.params.id; //而这里需要加this if (id) { url = url + '?id=' + id; } axios.get(url) .then(res => { this.setState({ data: res.data.data }); }) }
1回答
同学你好,
是componentWillReceiveProps这个生命周期的用法哦,props发生变化时执行componentWillReceiveProps。
参数nextProps代表的是新属性,所以直接在这个属性上获取内容就可以。如果还想使用原来的属性,就需要使用this了,例如,输出下一个id值以及当前id值:
自己可以输出测试下,祝学习愉快!
相似问题