我從后端獲取“地址”值。但是,傳入的值都是大寫的。我只希望第一個字母是大寫的。我做到了這一點。但是當“地址”值沒有出現時,我得到一個錯誤。
const upperCaseFirstLetter = (string) =>
`${string.slice(0, 1).toUpperCase()}${string.slice(1)}`;
const lowerCaseAllWordsExceptFirstLetters = (string) =>
string.replaceAll(/\S*/g, (word) => `${word.slice(0, 1)}${word.slice(1).toLowerCase()}`
);
let address = '';
address = upperCaseFirstLetter(lowerCaseAllWordsExceptFirstLetters(props.policy.assets.address));
html
<div className="policycard__subinfo">
{props.policy.assets.address ? (t('policy.policy-cards.address') address) : null}
</div>
控制臺中的錯誤如下;無法讀取未定義的屬性(讀取“replaceAll”)。
uj5u.com熱心網友回復:
可能有更好的方法,但是每當我遇到這樣的錯誤時,我都喜歡給它一個默認值:
const lowerCaseAllWordsExceptFirstLetters = (string) => {
return (string || '').replaceAll(/\S*/g, (word) => `${word.slice(0, 1)}${word.slice(1).toLowerCase()}`
}
因此如果string未定義,則將其視為空字串,從而避免錯誤。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/485322.html
標籤:javascript 反应 反应式
下一篇:單擊選單中的文本時彈出視窗
