有没有更好的方法来编写此检查以查看 react 中的 prop 上是否存在值?
Is there a better way to write this check to see if a value exists on a prop in react?
我有这个道具进入我的组件,错误,如果我的表单没有错误,它是一个空对象。如果有错误,它们将被添加到对象中。我的问题是,我正在检查对象上的特定 属性,现在我正在检查它是否未定义。有没有更好的方法来执行这样的检查?这是代码片段
const SelectOverdrawnFunds = ({
overdrawnFunds = [],
options,
setFieldValue,
setErrors,
errors,
}) => (
<>
{overdrawnFunds.map((select, index) => {
const error =
errors &&
errors.overdrawnFunds !== undefined &&
errors.overdrawnFunds[index] !== undefined;
return (
<SearchSelect
key={index}
name={`overdrawnFunds[${index}]`}
label="Fund"
options={options}
TextFieldProps={{
error: error,
helperText: error ? 'Required' : '',
}}
/>
);
})}
...
SelectOverdrawnFunds.propTypes = {
overdrawnFunds: PropTypes.array,
options: PropTypes.array,
setFieldValue: PropTypes.func,
setErrors: PropTypes.func,
errors: PropTypes.object,
};
export default SelectOverdrawnFunds;
是的,您可以像这样使用可选链接
const error = !!errors?.overdrawnFunds?.[index];
//or
const error = Boolean(errors?.overdrawnFunds?.[index]);
或者如果您想与 undefined
进行严格比较
const error = errors?.overdrawnFunds?.[index] !== undefined;
您可以在 MDN
上找到有关可选链接的更多信息
我有这个道具进入我的组件,错误,如果我的表单没有错误,它是一个空对象。如果有错误,它们将被添加到对象中。我的问题是,我正在检查对象上的特定 属性,现在我正在检查它是否未定义。有没有更好的方法来执行这样的检查?这是代码片段
const SelectOverdrawnFunds = ({
overdrawnFunds = [],
options,
setFieldValue,
setErrors,
errors,
}) => (
<>
{overdrawnFunds.map((select, index) => {
const error =
errors &&
errors.overdrawnFunds !== undefined &&
errors.overdrawnFunds[index] !== undefined;
return (
<SearchSelect
key={index}
name={`overdrawnFunds[${index}]`}
label="Fund"
options={options}
TextFieldProps={{
error: error,
helperText: error ? 'Required' : '',
}}
/>
);
})}
...
SelectOverdrawnFunds.propTypes = {
overdrawnFunds: PropTypes.array,
options: PropTypes.array,
setFieldValue: PropTypes.func,
setErrors: PropTypes.func,
errors: PropTypes.object,
};
export default SelectOverdrawnFunds;
是的,您可以像这样使用可选链接
const error = !!errors?.overdrawnFunds?.[index];
//or
const error = Boolean(errors?.overdrawnFunds?.[index]);
或者如果您想与 undefined
const error = errors?.overdrawnFunds?.[index] !== undefined;
您可以在 MDN
上找到有关可选链接的更多信息