我正在查看Shopify Embedded App SDK以及您必须从服务器端变量中删除一些javascript的部分。我使用react engine,react-router和express.js。
<head>
<script src="https://cdn.shopify.com/s/assets/external/app.js"></script>
<script type="text/javascript">
ShopifyApp.init({
apiKey: 'YOUR_APP_API_KEY',
shopOrigin: 'https://CURRENT_LOGGED_IN_SHOP.myshopify.com'
});
</script>
</head>
有一种方法可以提供red.render(req.url, data)
数据,但是我不确定我应该从组件中做些什么。有没有办法从组件中访问和更改全局ShopifyApp
变量?
答案 0 :(得分:0)
我将shopify代码添加到componentDidMount
组件的App
(react-routes中最顶层的组件)。
var Layout = require('./layout.jsx');
var React = require('react');
var Router = require('react-router');
module.exports = React.createClass({
componentDidMount: function(){
if(this.props.shopify){
ShopifyApp.init({
apiKey: this.props.shopify.apiKey,
shopOrigin: this.props.shopify.shopOrigin
})
}
},
render: function render() {
return (
<Layout {...this.props}>
<Router.RouteHandler {...this.props}/>
</Layout>
);
}
});