【发布时间】:2021-08-29 16:01:36
【问题描述】:
我正在尝试使用从 DB 中提取的值作为输入字段的默认值(在单击组件之前显示)。
但是,使用“defaultValue”属性,它不会显示获取的值。
App.tsx 文件(取值成功):
const [Income, setIncome] = useState<string>('0');
useEffect(() => {
const incomeResp = async () => {
await axios.get('http://localhost:4000/app/income')
.then(
result => setIncome(result.data && result.data.length > 0 ? result.data[0].income : 0))
}
incomeResp();
}, []);
return (
<div className="App">
<div>
<IncomeExpensesContainer
income={Income}
setIncome={setIncome}
totalExpenses={TotalExpensesAmount}
currencySymbol={Currency}
/>
</div>
组件的文件:
interface Props {
income: string;
setIncome: (value: string) => void;
totalExpenses: number;
currencySymbol: string;
}
const IncomeExpensesContainer: React.FC<Props> = ({
income,
setIncome,
totalExpenses,
currencySymbol,
}: Props) => {
const [insertedValue, setInsertedValue] = useState<string>(income);
return (
<Grid container spacing={1} className="income-expenses-container">
<InputItem
onChange={setInsertedValue}
onBlur={setIncome}
title="Income"
type="number"
placeholder="Your income"
defaultValue={income}
/>
</Grid>
);
我在这里错过了什么?
【问题讨论】:
-
你在App中的return语句是什么?你如何将数据传递给组件文件?缺少很多信息。
-
@Delice 我在 App.tsx 中添加了 return 语句。还需要哪些额外信息?
标签: reactjs input components fetch default-value