我有一个 React 微服务(通过 nginx)部署到谷歌云运行上,其后端环境变量设置为另一个运行为后端服务的 Gunicorn 的谷歌云运行实例。
我的 Flask 应用程序是按照我能找到的有关允许 CORS 的所有内容进行设置的:
app = Flask(__name__)
app.config.from_object(config)
CORS(app, resources={r"/*": {"origins": "*"}})
app.config['CORS_HEADERS'] = 'Content-Type'
return app
# Different file, a blueprint's urls:
@blueprint.route('/resources')
@cross_origin()
def get_resources():
...
Run Code Online (Sandbox Code Playgroud)
但我仍然感到害怕Access to XMLHttpRequest at 'https://backend/resources/' from origin 'https://frontend' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
有谁对此有任何见解/知道在解决这个问题时还可以从哪里寻找?我想用我的微服务设置 GKE,但最初选择了阻力最小的路径,在云中建立 POC。我让后端与我的 Cloud SQL 实例对话,我已经很接近了!
谢谢
cors flask google-cloud-platform flask-cors google-cloud-run
尝试使用 React 实现自定义单元框架渲染器,看起来很简单。创建 React 组件,将其注册到frameworkComponents.
填充的数据rowData来自我的 redux 存储。自定义单元格渲染器是一个功能性反应组件。
问题是,因为我使用的是frameworkComponent(在我的例子中是React组件)作为cellRenderer,所以似乎我通过获取的网格数据的任何变化都会useSelector(selectorForMyData)导致我的frameworkComponent的重新渲染,这在浏览器上,看起来像是随机的、烦人的闪烁。该应用程序大量连接到 redux
两个问题:
1 - 为什么当我本机使用 ag grid 使用AgGridColumn没有任何自定义单元格渲染器的方式渲染此单元格时,它不会导致同一商店更改时的重新渲染行为?我有一个绑定到主页的点击事件,该事件将标志切换为 false(在小吃栏警报打开的情况下)。
2 - 有什么办法可以解决这个问题吗?我尝试将我的return语句包装在框架单元渲染器组件中,并将其useMemo作为params依赖项,但这似乎不起作用。还尝试使用与以下相同的想法创建一个render函数,但这也没有帮助:/useCallbackuseMemo
谢谢
情况的伪代码:
App.tsx:
<MyAgGrid/>
MyAgrid.tsx:
const MyAgGrid = () => {
const data = useSelector(selectorForData);
return (
<AgGridReact
rowData={data}
frameworkComponents={
{'myCustomRenderer': CustomRendererComponent}
}
columnDefs={
['field': 'aField', cellRenderer: 'myCustomRenderer']
} />
);
};
CustomCellRendererComponent.tsx:
const CustomCellRendererComponent = (params) => {
console.log("params", params) …Run Code Online (Sandbox Code Playgroud)