javascript - 以编程方式创建组件名称
问题描述
我正在制作一个简单的应用程序来显示指南/教程。
每个指南都有不同数量的步骤,每个步骤都是我在“教程”组件主体中呈现的组件。我想知道如何以编程方式将每个元素调用到屏幕上。我现在的方法如下:
const tutorialSteps = {
1: <Step1 />,
2: <Step2 />,
3: <Step3 />
};
然后在我的函数的返回语句中:
{tutorialSteps[step]}
(需要注意的是,“step”是我的组件中的一个状态变量,是根据用户在指南中的进度更新的)
如前所述,每个教程都有不同的长度,我不想在我的字典中硬编码 99 个步骤(因为显而易见的原因,这是不好的做法)。
反正有没有根据当前步骤动态调用组件?
先感谢您。
解决方案
抱歉,如果我在这里遗漏了一些基本的东西,但为什么不这样呢?(伪代码)
const steps = [
Step1,
Step2,
Step3,
];
render () {
const [step, setStep] = useState(0);
const Component = steps[step];
return <Component onNext={() => setStep(step + 1)} />
}
推荐阅读
- android - Android:如何在webview中呈现html而不显示webview
- c - 数组初始化中的 malloc() 问题
- postgresql - 我的 PostgreSQL 服务器看起来有错误的 UTC 时间戳
- python - 没有输出?(Python语音识别)
- r - 在 mutate 部分返回多个向量的函数
- asp.net - WebForms:DataBind to Text 派生 CheckBox 控件的属性
- azure - Azure AADSTS900144:请求正文必须包含以下参数:“client_id”
- javascript - 多个 ValidationObserver 未验证所有字段
- flutter - 删除 ListView 中使用的 TextEditingController
- python - 在 python、windows 中阻止键盘和鼠标输入(没有 pyhook)