导航器提供程序

此功能仍处于实验阶段。“实验性”意味着这是一个早期的实施,可能会发生重大的突破性变化。

这个导航器提供程序组件允许渲染嵌套的视图/面板/菜单(通过导航器屏幕成分)并在这些不同的状态之间导航(通过导航器按钮,导航器到家长按钮导航器后退按钮组件或使用导航器挂钩)。Global Styles侧栏就是一个例子。

用法

导入{__将NavigatorProvider作为Navigator Provider进行实验,__实验NavigatorScreen作为Navigator屏幕,__实验NavigatorButton作为Navigator按钮,__将NavigatorToParentButton作为Navigator ToParentbutton进行实验,}来自“@wordpress/components”;const我的导航=()=>(<NavigatorProvider初始路径=“/”><NavigatorScreen path=“/”><p>这是主屏幕</p>(第页)<NavigatorButton path=“/child”>导航到子屏幕。</Navigator按钮></Navigator屏幕><NavigatorScreen path=“/child”><p>这是儿童屏幕</p>(第页)<导航器到家长按钮>回去</NavigatorToParentButton></Navigator屏幕></NavigatorProvider>);

重要注意事项

父/子导航仅在您定义的路径是分层的情况下有效,遵循类似URL的方案,其中每个路径段由/字符。
例如:
/是所有路径的根。屏幕上应始终显示路径=“/”.
/父/子是的孩子/父母.
/父/子/孙子是的孩子/父母/子女.
/父级/:param是的孩子/父母也。

道具

组件接受以下道具:

initialPath:字符串

初始活动路径。

  • 必需:否

导航器对象

您可以检索导航器实例,使用使用导航器挂钩。

这个导航器实例有几个属性:

goTo:(path:string,options:NavigateOptions)=>void

这个转到函数允许导航到给定路径。第二个参数可以使用不同的选项来增强导航操作。

可用选项包括:

  • 焦点目标选择器:一串。一个可选属性,用于指定CSS选择器,该选择器用于在向后导航时恢复匹配元素的焦点。
  • 回来了:布尔值。一个可选属性,用于指定是否应将导航视为向后(从而在可能的情况下启用焦点恢复,并导致动画也向后)

goToParent:()=>无效;

这个转到父级函数允许导航到父屏幕。

父/子导航仅在您定义的路径是分层的情况下有效(请参阅上面的注释)。

当找不到匹配时,函数将尝试递归导航路径层次结构,直到找到匹配的屏幕(或根目录/)找到。

返回:()=>无效

这个返回函数允许导航到上一个路径。

位置:导航器位置

这个位置对象表示当前位置,并具有一些属性:

  • 路径:一串。与位置关联的路径。
  • 回来了:布尔值。标志是真的当通过在位置堆栈中向后导航到达当前位置时。
  • 是初始的:布尔值。标志是真的仅针对位置堆栈中的第一个(根)位置。

参数:记录<string,string|string[]>

从当前位置分析的参数记录。例如,如果当前屏幕路径为/产品/:productId位置是/产品/123,那么参数{productId:“123”}.