【发布时间】:2019-06-25 17:02:19
【问题描述】:
我是 reactjs 新手,我正在尝试从输入中读取数据。问题是当我输入一个标志时,我的输入失去了焦点。但只有当所有逻辑都在函数内部时。 当带有按钮和逻辑的输入位于不同的文件中时 - 它正在工作。我真的不知道为什么......
我已经创建了具有相同代码的单独文件并将其导入到 sollution - 没关系。 我已经尝试过 onChange={handleChange} - 也失去了焦点。
export default function MyInput(){
const [citySearch, updateCitySearch] = useState();
function searchCityClick(){
alert(citySearch);
}
const SearchComponent = ()=> (
<div>
<input
value={citySearch}
onChange={(e) => updateCitySearch(e.target.value)}/>
<Button variant="contained" color="primary" onClick={searchCityClick}>
Search
</Button>
</div>
);
return(
<div>
<div>
<SearchComponent />
</div>
</div>
)}
【问题讨论】:
-
每当状态发生变化时,react 都会尝试重新渲染组件并再次创建
SearchComponent函数,这与以前不同并导致焦点丢失。
标签: reactjs react-hooks