Reactjs 材质UI,包括带有单选按钮、复选框等标签的内联链接
我试图在React应用程序中包含一个与材质UI单选按钮列表标签内联的动态链接。当我实现以下代码时,我会看到Reactjs 材质UI,包括带有单选按钮、复选框等标签的内联链接,reactjs,material-ui,Reactjs,Material Ui,我试图在React应用程序中包含一个与材质UI单选按钮列表标签内联的动态链接。当我实现以下代码时,我会看到[object object],而不是我希望出现参考文档链接的地方。我做错了什么 referenceDocsLink(protocol) { return ( <a className="Content-Documentation-Button" href={`${BASE_DOCS_LINK}/reference/${protocol}
[object object]
,而不是我希望出现参考文档链接的地方。我做错了什么
referenceDocsLink(protocol) {
return (
<a
className="Content-Documentation-Button"
href={`${BASE_DOCS_LINK}/reference/${protocol}/`}
rel="noopener noreferrer"
target="_blank"
>
Reference Docs
</a>
);
}
<RadioButtonGroup name="connectionProtocol" >
<RadioButton
key="Content-Protocol-RadioButton-http"
label={`HTTPS Device API ${this.referenceDocsLink('http')}`}
name="protocol-http"
value="http"
/>
<RadioButton
key="Content-Protocol-RadioButton-mqtt"
label={`MQTT ${this.referenceDocsLink('mqtt')}`}
name="protocol-mqtt"
value="mqtt"
/>
</RadioButtonGroup>
referenceDocsLink(协议){
返回(
);
}
UI呈现如下:
您可以尝试将JSX插入标签属性,而不是字符串:
<RadioButton
key="Content-Protocol-RadioButton-http"
label={<div>HTTPS Device API {this.referenceDocsLink('http')}</div>}
name="protocol-http"
value="http"
/>
但这一切都取决于
单选按钮是否接受JSX作为属性值类型。这是因为标签
属性只接受字符串。因此,它不会呈现您插入的JSX,而是呈现[object object],因为实际上它得到的是一个React.createElement对象。它看起来确实接受JSX。添加到您的示例中(将
切换为
),它就像一个符咒。谢谢我正在动态生成单选按钮。虽然链接看起来很好,但当我尝试单击它们时,除了选中单选按钮外,什么也没有发生。我正在使用材质ui v0.21
。有什么想法吗?