typescript - 打字稿和使用新地图在输入第二个参数作为组件时遇到问题
问题描述
所以,我有一个地图,值是组件,除非我也输入所有道具,否则我似乎无法正确输入它。这似乎太过分了。我只希望类型是一个组件,而不是担心所有的道具。我尝试了 typeof React Element 等。没有运气。
我只想要一个非常通用的组件类型。
enum ModalTypes {
ADD_MODAL = 'addModal',
REMOVE_MODAL = 'removeModal',
UPDATE_MODAL = 'updateModal',
}
const modalMap: Map<ModalTypes, ReactElement> = new Map([
[ModalTypes.ADD_MODAL, ModalAdd],
[ModalTypes.REMOVE_MODAL, ModalRemove],
[ModalTypes.UPDATE_MODAL, ModalUpdate]
]);
const Modal = (modalMap.has(type)) ? modalMap.get(type) : null;
我收到一个错误:const modalMap,因为“ReactElement”缺少这些组件上的所有道具。但我不想对它这么严格。我只希望 Map<ModalMap, *****> 中的第二个参数是一个非常通用的反应组件。我尝试了各种方法,但无法正常工作。
解决方案
推荐阅读
- awk - Shell命令将url分成阶段
- javascript - 似乎是 safari 的一个边距
- flutter - 在主页中从 Firestore 用户获取数据
- tensorflow - Keras NLP 神经网络预测下一个字母 - ValueError: An operation has `None` for gradient
- angularjs - 如何使用 api.getSelectedNodes()
- c++ - C ++初始化后无法使用成员函数读取文件
- vb.net - 如何更新标签以显示另一个表单的秒表?
- cmake - CMake 交叉编译 ARM Cortex-M 在 windows 错误链接
- reactjs - 如何在 React Native 中将 Facebook Graph api 请求转换为 Axios?
- php - 在 PhpStorm 中设置 PHP 解释器