【发布时间】:2019-07-20 11:57:01
【问题描述】:
当组件加载时,默认状态会显示在姓名和年龄输入中,这很好,但我希望能够在表单字段中输入姓名和年龄,目前我不能,如果可以的话期望 name 和 age 输入中的值更新到状态。同样,当我按下按钮时。最后我觉得应该为状态设置类型定义。
我不明白如何从表单输入中获取值并将它们保存到状态。我不想使用占位符,因为在用户开始键入时会删除该值。我不确定如何为状态设置类型定义。
import React, {useState} from 'react';
const State: React.FC = () => {
type StateTypes = {
name: string,
age: number
}
const [state, setState] = useState({
name: 'Bill',
age: 23,
});
const changeState = () => {
setState({
...state,
name: 'Jim',
age: 25,
})
}
return (
<div className="home-grid">
<div>
<p>Name: {state.name}</p>
<p>Age: {state.age}</p>
<hr/>
<input type="text" value={state.name} onChange={changeState} /><br/>
<input type="number" value={state.age} onChange={changeState}/><br/>
<button onClick = {changeState}>Update State</button>
</div>
</div>
);
}
export default State;
【问题讨论】:
标签: reactjs typescript react-hooks