小编Cri*_*_SO的帖子

组件支持 React 17 和 React 18 的简洁方法

React 18 引入了一种手动渲染组件的新方法,现在无需调用

import ReactDOM from 'react-dom';
ReactDOM.render(component, container)
Run Code Online (Sandbox Code Playgroud)

必须打电话

import { createRoot } from 'react-dom/client';
createRoot(container).render(component);
Run Code Online (Sandbox Code Playgroud)

如果不这样做,则会向控制台发出警告并恢复到 React 17 API 兼容性。

发布到 NPM 的组件是否有官方的或至少是半干净的方式来支持这两个 API?

有一个React.version我可以检查一下。

然而createRoot,在一个单独的文件中,这意味着我正在查看条件导入,这肯定会成为各种捆绑器和转译器问题的根源。

还有更好的想法吗?

注意:有问题的组件是https://www.npmjs.com/package/rlayers,其中包含一个虚拟组件(地图样式)和一个render()属性,可以在屏幕外渲染以计算地图样式。任何允许我在为上下文提供值的同时调用所有嵌套render()方法的答案也是有效的。

reactjs

9
推荐指数
1
解决办法
1754
查看次数

为结构成员创建别名

我有以下代码:

struct context {
  int a, b;
};

int fn(struct context *c) {
  // create local aliases
  int &a = c->a;
  int &b = c->b;
  // use as if these were local variables
  return a+b;
}
Run Code Online (Sandbox Code Playgroud)

是否可以自动创建fn允许访问ab不访问的变量别名c->

int fn(struct context *c) {
  // magic line that is not dependent on the list of the members
  return a+b;
}
Run Code Online (Sandbox Code Playgroud)

允许我自动执行此操作而无需列出所有变量的东西。

我需要这个 C++ 代码生成器 (SWIG),它可以让我大大简化模板。

c++

0
推荐指数
1
解决办法
138
查看次数

标签 统计

c++ ×1

reactjs ×1