React を用いた SPA で画面遷移を行う場合、React Router を利用する事が多いかと思いますが、Shopify アプリ上で行う場合、Shopify App Bridge の History API を併せて利用する必要があります。
Shopify アプリを作成する毎にそれらを実装することもできますが、React Hook にした @huckleberry-inc/shopify-app-history npm を作成しました。
以下の様に利用できます。
import React from "react";
import {
Button
} from "@shopify/polaris";
import createApp from '@shopify/app-bridge';
import { useShopifyHistory } from '@huckleberry-inc/shopify-app-history';
export const Component = () => {
const app = createApp({
apiKey: 'API key from Shopify Partner Dashboard',
shopOrigin,
});
const to = useShopifyHistory(app);
return (
<Button onClick={ () => { to("/another_page") }} />
);
};