MaterialUI 5.10.4中StepConnector无法通过useStepContext获取索引求助
问题:MUI StepConnector无法通过useStepContext获取步骤索引
我正在使用MUI的Stepper组件,希望根据步骤索引单独设置StepConnector的样式。此前有相关需求议题提出在StepConnector内获取当前步骤索引,后续合并的PR支持通过useStepContext实现该功能,我当前使用的MaterialUI版本为5.10.4。
但无论采用哪种方式,我获取到的都是空对象,而非包含索引的上下文。我的实现仅和示例代码存在版本差异(示例用5.4.0),不确定是否遗漏了其他配置。
我的实现代码
简便方式(使用useStepContext)
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合并前的替代方案(使用React.useContext)
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对象,最终仍返回空对象。
我哪里操作有误?
我制作了最小测试用例复现了该问题,因此已向MUI提交了bug报告。
内容的提问来源于stack exchange,提问作者Nick K9
相关产品推荐
相关产品推荐

