Я сделал компонент Input
.Если это число, я хочу правильно отформатировать его, как валюту.Т.е. 4000
будет 4,000
.
Вот codesandbox .
У меня проблемы с отображением и обновлением.
<Input initialValue={'400000000'} isNumber={true} />
Мой Input
компонент выглядит следующим образом.
type Props = {
initialValue?: string;
isNumber?: boolean;
};
const Input = ({ initialValue = '', isNumber }: Props) => {
const [value, updateValue] = useState(initialValue);
const update = (val: any) => {
if (isNumber) {
const x = Number(val);
updateValue(x.toLocaleString());
} else {
updateValue(val);
}
};
return (
<StyledInput
type="text"
value={value}
onChange={e => update(e.target.value)}
/>
);
};
Я вижу ошибку NaN в моем компоненте ввода.У кого-нибудь есть идеи?