我正在使用Firebase child_added
列出數據。每當第一行被渲染時,onEndReached
被觸發。我的代碼有問題嗎?反應原生onEndReached總是在第一行被渲染時觸發
組件
onEndedReached() {
lastkey = Object.keys(this.props.contacts).pop();
// this.props.nextPage(this.props.auth.uid, lastKey);
console.log('Fire onEndedReached:', lastkey);
}
render() {
return (
<ListView
style={styles.container}
enableEmptySections
dataSource={this.dataSource}
renderRow={this.renderRow}
onEndReachedThreshold={50}
onEndReached={() => this.onEndedReached()}
/>
)
}
}
行動
export const getContacts = (uid) => {
return (dispatch) => {
firebase.database().ref(`userContacts/${uid}`)
.limitToFirst(20).on('child_added', (contact) => {
dispatch({
type: GET_CONTACTS_SUCCESS,
payload: { [contact.key]: contact.val() }
})
})
}
}
減速
const INITIAL_STATE = {};
export default (state = INITIAL_STATE, action) => {
switch (action.type) {
case GET_CONTACTS_SUCCESS:
return Object.assign({}, state, action.payload);
default:
return state;
}
}
你使用滾動視圖作爲ListView的容器嗎? –
編號我idid不使用 – vzhen
他們改變了> = 0.36版本的行爲;當你不想讓它觸發時,只需在你的'onEndReached'函數中添加安全措施。 – Jan