首页 > 解决方案 > React Native 无法将 Firebase 密钥传递给组件

问题描述

我有我想从一个组件传递到另一个组件的firebase密钥,尽管它似乎只是显示为空白。在我的List.js我可以看到我能够(通过this.props.item.key)获取密钥并显示密钥。但是当我想将它传递给它时,Editblog.js它不会显示任何东西。

List.js

const { blogDescription,  key, ownerId } = this.props.item.values;

Actions.edit_blog({ values: this.props.item.values });

我想将密钥传递到Editblog.js这里我发现this.state.blogDescription给了我正确的结果,但是当我使用this.state.key它时显示为空白。

Editblog.js


    this.state = {
      blogDescription: props.values.blogDescription,
      key: props.values.key,
      ownerId: props.values.ownerId
    };


<Text>{this.state.key}</Text>

标签: javascriptfirebasereact-native

解决方案


JSX 元素上的大多数 props 都会传递给组件,但是,有两个特殊的 props (refkey) 被 React 使用,因此不会转发给组件。

在您的情况下,您可以将密钥作为不同的道具传递

Actions.edit_blog({ values: this.props.item.values, id: this.props.item.values.key });

并像这样访问它

this.state = {
  blogDescription: props.values.blogDescription,
  key: props.id,
  ownerId: props.values.ownerId
};


<Text>{this.state.key}</Text>

推荐阅读