【问题标题】:Why react-native routers use state instead of props?为什么 react-native 路由器使用状态而不是道具?
【发布时间】:2023-03-30 14:26:01
【问题描述】:

an official react-native example关于路由使用道具而不是状态。

但是,所有其他路由器组件库都使用状态而不是道具。尤其是为FluxRedux 的使用做准备的库。

路由器组件中状态使用的主要思想是什么?

【问题讨论】:

    标签: react-native redux reactjs-flux


    【解决方案1】:

    他们之所以在这个例子中使用 navigator=this.props.navigator 是因为这是一个子组件,其中父组件通过 props 将其导航器传递给子组件。您通常不会将状态直接传递给子组件,而是传递一个可以在“getInitialState”中使用的道具。

    https://facebook.github.io/react/tips/communicate-between-components.html

    在这里,我们看到这只是用于将 prop 从父级传递给子级的语法。我们希望在不同组件之间传递导航器,以便应用程序保持一致,它们都使用相同的导航器在不同页面之间导航。

    不过只是一个警告,当将 props 作为状态传递给子组件时,请注意,它只适用于 initialization

    【讨论】:

    • 但在考虑导航时,[examples][1] 创建新路线并继续前往新路线(在本例中为孩子)。并且可以从新页面翻到前两页。使用breadcrumbNavSample 和navigationBarSample 示例可以看到这种情况。您的意思是从friends\work 漫游到settings\theme(跳跃)吗?如果 UI 允许以这种方式漫游 Facebook 示例不起作用。 [1]:github.com/facebook/react-native/tree/master/Examples/…
    猜你喜欢
    • 2016-12-23
    • 1970-01-01
    • 1970-01-01
    • 2019-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-23
    相关资源
    最近更新 更多