我正在使用解析器功能。此函数返回一个对象,其值是一条错误消息:这是代码:
const codeErrors = ({ code }) => {
if (code === '1111') {
return {
'contact1': (
<ErrorWrapper id={code} />
)
};
}
return {
'contact2': (
<ErrorWrapper id={code} />
)
};
ErrorWraper组件只是具有以下代码的React组件:
const ErrorWrapperComponent = ({ id, locale, serverErrorMessages, values, defaultMessage }) => (
id ? (
<React.Fragment>
{console.log(id)}
<FormattedMessage
id={id}
values={values}
defaultMessage={defaultMessage || `${CLIENT_ERROR_MESSAGES[locale].generalError} (${id})`}
/>
{serverErrorMessages && serverErrorMessages[id] && ` (${id})`}
</React.Fragment>
) : null
);
但是,当渲染错误时,出现了无数次无法在Symbol(react.element)中使用“ in”运算符搜索“ toMap”的错误。为什么会这样?
答案 0 :(得分:0)
从Mozilla:
in运算符只能用于检查属性是否在 宾语。您无法搜索字符串,数字或其他原语 类型。
"Hello" in "Hello World";
// TypeError: cannot use 'in' operator to search for 'Hello' in 'Hello World'
例如,您将需要使用String.prototype.indexOf()。
"Hello World".indexOf("Hello") !== -1;
// true