Ionic 7和React 18我想显示一个breadcrumb来说明用户在经历一系列步骤时已经到达的位置.我只想完成的步骤是在面包屑可点击.这些步骤作为我状态的一部分存储(我使用Redux-Toolkit).有没有一种优雅的方式来做到这一点?我有下面的…

// get state from Redux  
const step = useSelector((state: RootState) => state.step);

function isStep3Completed(): boolean {
  return step === StepsEnum.STEP4;
}
<IonBreadcrumbs>
  <IonBreadcrumb href="#step1">Step 1</IonBreadcrumb>
  <IonBreadcrumb href="#step2">Step 2</IonBreadcrumb>
  {isStep3Completed() ? (
    <IonBreadcrumb href="#step3">Step 3</IonBreadcrumb>
  ) : <IonBreadcrumb >Step 3</IonBreadcrumb>}
  <IonBreadcrumb href="#step4">Step 4</IonBreadcrumb>
</IonBreadcrumbs>

但根据步骤是否完成来编写两个不同的面包屑似乎有些麻烦,我想知道Ionic是否提供了一种更有效的方法来做到这一点.

推荐答案

您可以有条件地传递props ,而不是有条件地渲染整个BreadCrumb个组件.

<IonBreadcrumb {...isStep3Completed() ? { href: "#step3" } : {}}>
  Step 3
</IonBreadcrumb>

Reactjs相关问答推荐

全局上下文挂钩-替代不起作用

ReactJs;Reaction-Hook-Form:仅当 Select 了特定 Select 列表选项时才显示文本输入

UseEffect和useSelector的奇怪问题导致无限循环

如何处理具有REACTION-REDUX状态的Nextjs路由警卫

面对动画警告:未指定`useNativeDriver`.这是必需的选项,并且必须在REACT本机中显式设置为`true`或`False`

FireBase未与Reaction应用程序连接

Antd V5组件自定义主题

状态更改是否卸载功能组件

FabricJS反序列化问题

React 无效的钩子调用:如何避免嵌套钩子?

useRef 不关注模态

单击按钮时如何添加或删除 3d 对象

在按钮单击中将动态参数传递给 React Query

Next.js i18n 路由不适用于动态路由

状态链接未传递到路由页面

next js 13 在获取中使用标头时动态渲染而不是静态渲染?

React CSSTransition 两次创建新页面并在这两个相同的页面上运行转换

react 路由路由加载器不适用于嵌套组件

如何用实际的br标签替换axios响应中的br标签?

有没有办法只针对 React map 中的一个按钮?