Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将特定Firebase数据库值插入表React Redux_Javascript_Reactjs_Firebase_Firebase Realtime Database_Redux - Fatal编程技术网

Javascript 将特定Firebase数据库值插入表React Redux

Javascript 将特定Firebase数据库值插入表React Redux,javascript,reactjs,firebase,firebase-realtime-database,redux,Javascript,Reactjs,Firebase,Firebase Realtime Database,Redux,我的firebase数据库如下所示: 我想将该数据库中的特定值(地址、城市、所有者)插入如下表: firebase的Feting数据如下所示: export function FetchData() { return dispatch => { firebase_db.on('value', snapshot => { dispatch({ type: FETCH_DATA, payload: snapshot.val()

我的firebase数据库如下所示:

我想将该数据库中的特定值(地址、城市、所有者)插入如下表:

firebase的Feting数据如下所示:

export function FetchData() {
  return dispatch => {
    firebase_db.on('value', snapshot => {
      dispatch({
        type: FETCH_DATA, 
        payload: snapshot.val()
      });
    });
  }
}
我用componentDidMount()获取它:

然后,当I console.log this.props.data时,结果是:

我正在使用函数renderData()映射列表:

renderData(数据列表){
return.map(this.props.data,(post,key)=>{
返回
})
}
这就是为什么表中有两行带有delete按钮的原因(不要介意那个按钮,我稍后会把它移到末尾…)

那么我如何才能访问特定的财产(如地址或所有者)? 当我尝试使用this.props.data.address时,它会显示“只是
未定义”
,可能是因为它是在props中有一些数据之前呈现的。。。另外,当我在控制台中将单键设为全局变量,然后尝试temp1.address时,我得到了想要的正确值:“Adress2”

如何将数据库中的所有这些adress值放入表中的adress列? 也许要使用一些中间件(reduxPromise或reduxThunk)

谢谢你的帮助

当你说:

那么,我如何才能访问特定的财产(如地址或所有者)? 当我尝试这个.props.data.address时,它可能会说只是未定义 因为它是在道具中有数据之前渲染的。。。也, 当我在控制台中将单键作为全局变量时 试试temp1.adress,我得到想要的,正确的值:“Adress2”

根据您在图像上显示的日志,我很确定这是因为您的
this.props.data
是一个具有键-LJNHbYR…XtZr(基本上是散列)的对象,因此要访问地址或所有者,您必须像

this.props.data[< hash_value >].address
this.props.data[< hash_value >].owner
此.props.data[]地址
此.props.data[]所有者

由于您在映射循环中使用,如果您能向我们展示该组件是如何实现的,那就太好了。另外一件事是,如果您要使用异步调用,那么这可能是一个好主意。首先,感谢您的回答,现在,我的渲染数据首先在lodash帮助下检查this.props.data是否为空对象(if(u.isEmpty(this.props.data)),映射函数如下:return object.keys(this.props.data).map((post,key)=>),这样我就可以使用这个.props.data[post]访问特定的值…没有尝试使用redux thunk,但正如您所说,这可能是一个好主意…现在我有最后一个问题,如何将该哈希值传递到删除操作?将发布另一个问题,因为在这里编写它很混乱。。。
renderData(dataList) {
    return _.map(this.props.data, (post, key) => {
        return <DataRow key={key} post={post} id={key} />
    })
}
this.props.data[< hash_value >].address
this.props.data[< hash_value >].owner