React Material Box中如何正确使用rgb函数?代码报错求解
解决Material UI Box组件设置rgb背景色的报错问题
报错Error: Cannot find name 'rgb'的核心原因是:你在JSX props的大括号里直接写了rgb(...),JavaScript会将其识别为函数调用,但rgb并不是你定义的合法JS函数。正确的写法是把rgb样式包装成字符串模板,和你原来在style属性里的逻辑保持一致:
<Box width={24} whiteSpace="preWrap" background={`rgb(${appointmentReasonView.rgbColorView})`} >
关键说明
Material UI的Box组件支持直接通过props设置CSS样式(比如background、whiteSpace),但这些props需要接收合法的CSS值字符串。在JSX的大括号中,rgb(...)属于CSS语法而非有效JS表达式,必须用模板字符串(或字符串拼接)将其包装成字符串,才能被Box组件正确解析为背景色样式。
你原本在style属性中的写法是正确的,因为style对象的background属性本身就需要字符串类型的CSS值;改用Box直接props时,只是把这个字符串值从style对象移到了props上,逻辑完全一致。
内容的提问来源于stack exchange,提问作者mattsmith5
相关产品推荐
相关产品推荐

