React本机Redux对象映射在firebase的动态数据上创建副本
我目前有一个列表,它总是使用“on”监听firebase数据库 除了向数据库中添加新数据外,一切似乎都正常。除非进行刷新,否则数据库中的数据似乎会重复 My action.js:React本机Redux对象映射在firebase的动态数据上创建副本,firebase,react-native,redux-thunk,Firebase,React Native,Redux Thunk,我目前有一个列表,它总是使用“on”监听firebase数据库 除了向数据库中添加新数据外,一切似乎都正常。除非进行刷新,否则数据库中的数据似乎会重复 My action.js: export const getAllEvents = () => { var a =[] return (dispatch) => { dispatch(fetchingStart()); var ref = firebase.database
export const getAllEvents = () => {
var a =[]
return (dispatch) => {
dispatch(fetchingStart());
var ref = firebase.database().ref('Events/');
ref.orderByChild("epochTime").on("value", function(snapshot) {
snapshot.forEach(child => {
a.push(child.val())
})
console.log("Array dispatch ", a)
dispatch(fetchingSuccess(a))
});
}
}
我的减速机:
const INITIAL_STATE = {
arr: [],
isFetching: false,
}
const eventListReducer = (state = INITIAL_STATE, action) => {
switch (action.type) {
case FETCH_BEGIN:
console.log("begining fetch")
return { ...state, isFetching: true };
case FETCH_SUCCESS:
return { ...state, isFetching: false, arr: action.payload };
default:
return state;
}
}
export default eventListReducer;
我的渲染:
var obj = this.props.eventListReducer;
{obj.map((request,i) => (
<TouchableOpacity activeOpacity={0.8} key={i} onPress={() => this.props.navigation.navigate('Event', {
spots: request.availableSpots,
date: request.date,
puckdrop: request.time,
level: request.level,
organizer: request.scheduler,
uuid: request.uuid,
})
}>
<Text.........
var obj=this.props.eventListReducer;
{obj.map((请求,i)=>(
this.props.navigation.navigate('Event'{
地点:request.availablespot,
日期:request.date,
puckdrop:request.time,
级别:request.level,
组织者:request.scheduler,
uuid:request.uuid,
})
}>
你的控制台上有重复的键警告吗?我以前也有,但后来我添加了{I}键。我用一些传统信息编辑了我的问题