reactjs - 如何在返回调用中将 jsx 作为字符串传递
问题描述
是否可以执行以下操作:
const data={
star: "<h1>STAR</h1>",
moon: "<h3>moon</h3>"
}
const App = () => {
return(
<div>{data.start}</div>
);
}
我得到的是<h1>STAR</h1>
不只是的实际字符串STAR
解决方案
我不认为你可以。您可以返回一个 html 字符串并可能让它显示,但 JSX 不是字符串,它被编译成创建这些元素的 javscript 代码。它在您的应用程序构建时起作用,我认为您不能在运行时使用动态字符串。你可以这样做:
const getData = (which) => {
if (which === 'star') {
return (<h1>STAR</h1>);
}
if (which === 'moon') {
return (<h3>moon</h3>);
}
return null; // nothing will display
}
const App = () => {
return (
<div>{getData('star')}</div>
);
};
推荐阅读
- javascript - Javascript TypeError:遍历行时“range.getRange 不是函数”
- apache-kafka - Kafka 生产者如何管理连接
- google-apps-script - 使用 Apps 脚本从 Google Doc 中删除/删除自定义菜单
- c++ - 即使谓词返回 false,remove_if 也会删除元素?
- python - 如何将熊猫数据框转换为没有列标题的字典?
- python - 计算距离列表
- visual-studio-code - 是否可以从 VS Code 扩展更改贡献视图的名称
- spring-data-jpa - 我创建了一个弹簧启动应用程序
- python - 如何根据用户输入的整数创建类
- bash - 用ffmpeg替换字幕中的单词