Получение клиентской маршрутизации, работающей с Shopify app-bridge-реакции - PullRequest
0 голосов
/ 30 апреля 2020

Я работаю со встроенным приложением React Shopify (загружается с помощью create-реагировать-приложение). Я пытаюсь следовать документам для компонента ClientRouter в app-bridge-реакции: https://shopify.dev/tools/app-bridge/react-components/client-router, но я довольно плохо знаком с экосистемой Shopify и не могу получить встроенную маршрутизацию общаться с навигационными ссылками, установленными в Shopify. Примеры в документации не показывают, как должна выглядеть маршрутизация внутри приложения React.

// index.js

import React from 'react'
import ReactDOM from 'react-dom'
import { BrowserRouter } from 'react-router-dom'
import { Provider as AppBridgeProvider } from '@shopify/app-bridge-react'
import { AppProvider } from '@shopify/polaris'
import translations from '@shopify/polaris/locales/en.json'
import '@shopify/polaris/styles.css'

import Router from './Router'
import './index.css'

ReactDOM.render(
  <React.StrictMode>
    <BrowserRouter>
      <AppBridgeProvider
        config={{
          apiKey: API_KEY,
          shopOrigin: SHOP_ORIGIN,
        }}
      >
        <AppProvider i18n={translations}>
          <Router />
        </AppProvider>
      </AppBridgeProvider>
    </BrowserRouter>
  </React.StrictMode>,
  document.getElementById('root')
)
// Router.js

import { withRouter } from 'react-router-dom'
import { useClientRouting } from '@shopify/app-bridge-react'

const Router = (props) => {
  const { history } = props
  console.log(history.location) // always "/"

  useClientRouting(history)

  return null
}

export default withRouter(Router)

Я пытался вернуть коммутатор с маршрутами внутри маршрутизатора. js, но история location всегда "/" (хотя я вижу изменение URL в iframe). Любая помощь будет оценена.

...