假设父组件" A"和儿童组成部分" B"。组件" A"进行Ajax调用。
我无法从" A"中获得道具价值。到了" B"' componentDidUpdate
,为什么会这样?
基本上我想做像这样的滚动检测事件
componentDidMount() {
$('#container').on('scroll', function() {
if(Math.ceil($(this).scrollTop() + $(this).height()) === $(this)[0].scrollHeight) {
if(this.props.items.length < this.props.itemTotal) {
fetchItems(this.props.items.length)
}
}
})
}
this.props.items.length
未定义?我可以在nextProps.items
方法中获得componentWillRecieveProps
的值吗?
答案 0 :(得分:3)
在scroll
事件处理函数中,this
指的是#container
元素。在进入处理程序之前,您可以存储对组件的引用。
componentDidMount() {
var thisComponent = this;
$('#container').on('scroll', function() {
if(Math.ceil($(this).scrollTop() + $(this).height()) === $(this)[0].scrollHeight) {
if(thisComponent.props.items.length < thisComponent.props.itemTotal) {
fetchItems(thisComponent.props.items.length)
}
}
})
}