Shopify недавно выпустила свой новый @ shopify / app-bridge , но мне неясно, как его использовать вместе с @shopify/polaris.
Например, я попытался создать компонент React, который будет использовать app-bridge и polaris для отображения тоста.
import React, { Component } from "react";
import * as PropTypes from "prop-types";
import { Toast } from "@shopify/app-bridge/actions";
import { Page } from "@shopify/polaris";
class Start extends Component {
static contextTypes = {
polaris: PropTypes.object
};
showToast() {
console.log("SHOW TOAST");
console.log(this.context.polaris.appBridge);
const toastNotice = Toast.create(this.context.polaris.appBridge, {
message: "Test Toast",
duration: 5000
});
toastNotice.dispatch(Toast.Action.SHOW);
}
render() {
this.showToast();
return (
<Page title="Do you see toast?">
<p>I do not see toast.</p>
</Page>
);
}
}
export default Start;
Но, похоже, не отправляет действие. Есть идеи, почему бы и нет? Обратите внимание, что мое приложение обернуто в AppProvider, и app-bridge инициализируется.
ReactDOM.render(
<AppProvider
apiKey={process.env.REACT_APP_SHOPIFY_API_KEY}
shopOrigin={queryString.parse(window.location.search).shop}
>
<Start />
</AppProvider>,
document.getElementById("root")
);
Есть предложения?