Javascript 记录属性未呈现为字符串

Javascript 记录属性未呈现为字符串,javascript,string,reactjs,Javascript,String,Reactjs,我正在尝试访问记录属性odata.type,以便根据其值修改我的EditForm。我已经创建了一个常数,该常数正好可以执行此操作,但是当我使用console.log打印它时,出于某种原因,它会显示如下: ƒ HWType(_ref2) { var record = _ref2.record; return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", { __source: { fileName: _j

我正在尝试访问记录属性
odata.type
,以便根据其值修改我的
EditForm
。我已经创建了一个常数,该常数正好可以执行此操作,但是当我使用
console.log
打印它时,出于某种原因,它会显示如下:

ƒ HWType(_ref2) {
var record = _ref2.record;
 return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
__source: {
  fileName: _jsxFileName,
  lineNumber: 31
},
我的常数如下所示:

const HWType = ({ record }) => {
 return <span>{record ? record["odata.type"] : null}</span>;
}
consthwtype=({record})=>{
返回{record?record[“odata.type”]:null};
}
对如何访问
odata.type
属性有何建议


谢谢

HWType
是您的反应组件。你不能添加这样的条件。您必须将
常量
视为
常量
而不是
组件

const HWType = ({ record }) => {
 return <span>{record ? record["odata.type"] : null}</span>;
}
它可以用作

const obj = {record: '...'} // your actual object value
{HWType(obj) === "HardwareDatabase.CPU" ? <ReferrenceSelectBox label="Socket" source="SocketTypeId" reference="CPUSocketType"></ReferrenceSelectBox> : null}
const obj={record:''.'}//实际对象值
{HWType(obj)==“HardwareDatabase.CPU”?:null}

如果要根据
记录
属性的某些值显示或隐藏输入,可以使用
。在您的情况下,它将如下所示:

const HWType = ({ record }) => {
 return <span>{record ? record["odata.type"] : null}</span>;
}
首先,您必须添加您将要调节的输入:

<TextField source="odata.type" Name="HWType" disabled={true} />

然后:


{({formData,…rest})=>formData[“odata.type”]==“HardwareDatabase.CPU”&&
}
这样,只有当
record
属性等于
HardwareDatabase.CPU

您可以查看文档中的
FormDataConsumer


可以添加样本记录值吗?您如何使用
HWType
?@Harish我使用这个常量,因此如果条件为true,我可以有条件地显示字段。例如:
{HWType===“HardwareDatabase.CPU”?:null}
HWType
是您的react组件。你不能添加这样的条件。你必须将你的
常量
视为
常量
而不是
组件
。哦,好的,我可以修改该常量使其返回属性吗?是的,你可以将其修改为
函数
谢谢你的回答,但不幸的是,这个解决方案似乎对我不起作用,因为
HWType(obj)
由于某些原因未定义。您如何在代码中使用它?你能为它创建代码笔吗?我已经根据你的代码定义了常量
HWType
obj
,然后我导出了包含输入的常量
HardwareEdit
。我有这个条件。
<FormDataConsumer>
    {({ formData, ...rest }) => formData["odata.type"] === "HardwareDatabase.CPU" &&
      <ReferrenceSelectBox label="Socket" source="SocketTypeId" reference="CPUSocketType" {...rest}></ReferrenceSelectBox>
    }
</FormDataConsumer>