代码之家  ›  专栏  ›  技术社区  ›  liver

代理上的“getOwnPropertyDescriptor”:陷阱为属性“0”返回的描述符与代理目标中的现有属性不兼容

  •  1
  • liver  · 技术社区  · 7 年前

    passProps

    在render()中

    render () {
        var entry = this.props.entry // this is a realm object
        return (
            <Text onPress={() => this.gotoEdit(entry)}>EDIT</Text>
        )
      }
    

    gotoEdit函数:

    gotoEdit (entry) {
        this.props.navigator.push({
          screen: 'app.EditEntry',
          title: 'EDIT',
          passProps: {entry} // when this line is removed, the navigator works fine
        })
      }
    

    然而,点击“编辑”,应用程序崩溃。我在React调试器中收到以下消息:

    1 回复  |  直到 7 年前
        1
  •  1
  •   liver    6 年前

    我想出来了。你不能把领域对象作为道具推到另一个屏幕上,而不让它崩溃。解决方案是传递对象的标识属性,例如ID,然后在下一个屏幕中使用该属性引用对象。