React-redux firebase正确加载数据,但在组件内部不可用

React-redux firebase正确加载数据,但在组件内部不可用,firebase,redux,react-redux-firebase,Firebase,Redux,React Redux Firebase,以下方案来自(转到基于道具的查询段落) 负责从firebase获取数据的代码: export default compose( firebaseConnect((props) => [ `offers/${props.params.userId}`, ]), connect((state, props) => { console.log(state.get('firebase')) // <--- logs data correctly re

以下方案来自(转到基于道具的查询段落)

负责从firebase获取数据的代码:

export default compose(
  firebaseConnect((props) => [
    `offers/${props.params.userId}`,
  ]),
  connect((state, props) => {
    console.log(state.get('firebase')) // <--- logs data correctly
    return {
      user: get(state.get('firebase'), `offers/${props.params.userId}`),
    };
  })
)(UserProfile);
导出默认值(
firebaseConnect((道具)=>[
`提供/${props.params.userId}`,
]),
连接((状态、道具)=>{
console.log(state.get('firebase'))/以及我们找到了一个解决方案。我不得不使用
填充
函数,而不是
获取

import { populate } from 'react-redux-firebase';

奇怪的是,文档对此却有不同的说法。

这里是
react-redux firebase
的作者。完全开放以获取对文档的更改请求,以使这一点更加清楚


需要注意的是:原始问题使用v1..语法,这与v2..在redux中的存储方式不同(不再使用Immutable.js)。这意味着
state.get
不再是一个函数。

如果我错了,请纠正我,不是
get(state.get('firebase'))
返回一个承诺?而您正试图将一个未实现的承诺分配给
用户
?无论如何,最好让您的数据获取发生在action creator中,然后将该有效负载传递给您连接的减速机
,并将其映射或分派到道具。另外,
控制台.log(state.get('firebase'))
不同于
(用户:get(state.get('firebase'))
?@NoMoreQuestions-Hmm,90%确定
firebase
是一个对象。它很可能与我在文档中显示的分解它相同(
({firebase})
)。另外请注意,
firebase
已经是一个连接的减速机,具有内置的动作创建者。@nomore问题是的,它只是从官方文档中复制粘贴,应该..起作用:/如果您的
控制台.log()
打印您的数据,但
用户
仍然是
未定义的
,则有点可疑。您是否将它们更改为相同的?