您好,请问下,我有一个字符串,如何用这个字符串作为JSX来使用呢?
const str = "AppComp"我想要得到这样的JSX:<AppComp/>
请问如何基于str这个字符串变量做到<AppComp/>
?
因为其他地方已经定义了AppComp,所以直接引入,但是在这进行字符串创建JSX名称使用。
const str = "AppComp";
const Element = str;
function MyComponent() {
return <Element />;
}
或者:
const str = "AppComp";
const element = React.createElement(str, null);
function MyComponent() {
return element;
}
不知道是否可以
JSX 的解析是在编译期完成的,这意味着试图在运行时生成 JSX ,需要把编译器搬到运行时,技术上并非做不到,但是没有必要。
好在作为 JS 的超集,JSX 同样拥有 JS 的灵活性,像这种 string => JSX.Element 的需求可以这样实现:
function AppComp(){ return <>This is AppComp</>}const componentRecords = (() => { const componentMap = new Map(); const errCompGen = (info) => () => <div style={{color: "red"}}>{info}</div>; return (component) => { if(typeof component === "string"){ return componentMap.get(component) || errCompGen(`渲染错误:${component}组件未注册`); } if(typeof component !== "function"){ return } componentMap.set(component.name, component); }})();componentRecords(AppComp); const strs = [ "AppComp", "TestComp", "AppComp", ]; return <> { strs.map((i) => { const I = componentRecords(i); return<I/> }) } </>
假设有一串后台转换完成的JSX字符串,在React18中要如何解析成真实的React Element呢?要求事件绑定,属性绑定仍然能生效。
我有一个对象的,需要根据进行排序。 列表中的每个对象都包含以下内容 现在,假设我想先按“”下单,然后按“”下单。所以苹果排名第一,芒果紧随其后。 我可以做一个普通的asc/desc排序,但这是不够的。也可以使用apache公共资源来做上面的排序?
问题内容: 显然,以下是有效的语法 我想知道: 这是什么b字在前面的字符串是什么意思? 使用它有什么作用? 在什么情况下可以使用它? 我在SO上找到了一个相关的问题,但是这个问题是关于PHP的,它指出b用来表示字符串是二进制的,而不是是要从版本兼容的代码,当迁移到PHP 6时。我认为这不适用于Python。 我确实在Python站点上找到了有关使用相同语法的字符将字符串指定为的文档。不幸的是,它在
请问,这里应该如何封装才能 我在看使用文档的时候: https://github.com/knex/knex 见使用代码: 比如我创建一个users的表,这里就每次都引入一下 还要进行实例化: 请问是否可以使用TypeScript做成单例直接进行请求使用呢? 设想想要一个db.ts,以后直接这样使用即可
请问,如何对Electron做开启启动的配置呢,官方文档好像没有说明 1、如何设置Electron应用的开机启动,在哪里可以配置? 2、我也想要在Electron应用的设置中进行配置是否开机启动,请问如何做呢?
如何基于第一个等号拆分字符串? 所以