Reactjs 材质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}

我试图在React应用程序中包含一个与材质UI单选按钮列表标签内联的动态链接。当我实现以下代码时,我会看到
[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
。有什么想法吗?