Reactjs 使用直接通过的功能道具进行离子导航

Reactjs 使用直接通过的功能道具进行离子导航,reactjs,ionic-framework,react-router,Reactjs,Ionic Framework,React Router,如何使用React和Ionic与功能性道具推送页面 我确实试过: history.push({ pathname: '/edit_some_property', state: { onSetSomeProperty(val) { setSomeState(val) } } }) 但这意味着: DomeException:未能对“历史记录”执行“pushState”:无法克隆onSetSomeProperty(val){setSomeState(val);} 显然,state

如何使用React和Ionic与功能性道具推送页面

我确实试过:

history.push({
  pathname: '/edit_some_property',
  state: {
    onSetSomeProperty(val) { setSomeState(val) }
  }
})
但这意味着:

DomeException:未能对“历史记录”执行“pushState”:无法克隆onSetSomeProperty(val){setSomeState(val);}

显然,
state
被序列化为字符串,因此传递函数将不起作用

或者有没有另一种方法可以更好地将带有回调的屏幕推到上一个屏幕


背景和细节:

我有一个非常分层的风格反应+离子应用程序

  • 从列表中选择一个项目,按下包含项目详细信息的屏幕
  • 从列表中选择一个子项,按下包含子项详细信息的屏幕
  • 点击可编辑属性,按下带有表单字段的屏幕,然后返回上一屏幕并显示结果
  • 现在看来,为了从一个屏幕导航到另一个屏幕,爱奥尼亚要求您使用React路由器,其中每个页面都有一个唯一的URL。但这在这里不太好,因为每个屏幕都取决于以前屏幕的状态

    这意味着没有明显的方式在页面之间交流丰富的道具。如果我有一个到上一页的回调,我不能传递它,因为我不能直接访问路由器推送的组件


    还有
    ion nav
    ,它更接近我认为需要的,但它似乎根本没有反应界面

    我试过:

    <IonNav root={Home} />
    
    
    
    这就把这一点抛到了混乱的内部:

    错误:缺少框架委托


    我最初的回答是:对不起,太离谱了。我做了一些测试,发现传递给state的任何内容都需要序列化。为了实现这一功能,其他人报告说,这帮助了他们