我使用的是Stepper component,我想根据它们的索引单独设计连接器的样式。能够从StepConnector
中访问当前步骤的索引的需求在二月份出现在this GitHub issue中,而a PR was accepted使useStepContext
更容易。我使用的是MaterialUI的当前版本,5.10.4。
然而,我得到的是一个空对象,而不是我期望的索引上下文。这两种方法都会发生。我所做的和GitHub问题中的sample code之间的唯一区别是我使用的是5.10.4,而示例使用的是5.4.0。但也许我遗漏了什么?
下面是我的代码。简单的方法:
import { useStepContext } from "@mui/material/Step/StepContext";
import StepConnector from "@mui/material/StepConnector";
function CIConnector(props) {
const ctx = useStepContext();
console.log("context:", ctx);
return (
<StepConnector />
);
}
在PR被接受之前,在原始问题中作为变通方案建议的困难方法:
import * as React from "react";
import StepContext from "@mui/material/Step/StepContext";
import StepConnector from "@mui/material/StepConnector";
function CIConnector(props) {
const ctx = React.useContext(StepContext);
console.log("context:", ctx);
return (
<StepConnector />
);
}
在第二个版本中,当我中断调试器时,StepContext
是undefined
。但是如果我进入useContext()
,它似乎正确地接收了StepContext
对象。尽管如此,它仍然返回一个空对象。
我做错了什么?
我也有一个minimal test失败,所以我有opened a bug with MUI。
1条答案
按热度按时间ldioqlga1#
问题出在我导入方法的方式上。这段代码在MaterialUI 5.10.17上有效: