首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Shopify Polaris链接与Nextjs链接连接

将Shopify Polaris链接与Nextjs链接连接
EN

Stack Overflow用户
提问于 2021-08-18 17:04:15
回答 1查看 223关注 0票数 1

当使用Shopify Polaris时,许多内部组件输出单个静态<a />标记,这打破了我的NextJS应用程序体验,因为单击链接会重新加载页面。

如何使用<Link />组件使购物北极星链接的行为像Nextjs一样?

EN

回答 1

Stack Overflow用户

发布于 2021-08-18 17:04:15

在你的北极星AppProvider上,你可以提供一个linkComponent组件,北极星将使用它来渲染所有的链接,然后用nextjs Link组件简单地包装它:

代码语言:javascript
复制
import React from 'react'
import Link from 'next/link'
import { AppProps } from 'next/app'
import { AppProvider } from '@shopify/polaris'
import { NextPage } from 'next'
import { LinkLikeComponentProps } from '@shopify/polaris/dist/types/latest/src/utilities/link'
import '@shopify/polaris/dist/styles.css'

/**
 * Connects Nextjs Link with Polaris Links
 * @param props
 * @returns
 */
function LinkWrapper(props: LinkLikeComponentProps) {
  const { children, url, ...rest } = props

  return (
    <Link href={url}>
      <a {...rest}>{children}</a>
    </Link>
  )
}

const MyApp: NextPage<AppProps> = function MyApp({
  Component,
  pageProps,
  router,
}) {
 

  return (
    <AppProvider
      linkComponent={LinkWrapper}
    >
      {/* ... */}
    </AppProvider>
  )
}

export default MyApp
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68836582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档