我试图了解从 useState 传递 setter 是否是一个问题。
在这个例子中,我的子组件同时接收状态和设置器来改变它。
export const Search = () => {
const [keywords, setKeywords] = useState('');
return (
<Fragment>
<KeywordFilter
keywords={keywords}
setKeywords={setKeywords}
/>
</Fragment>
);
};
Run Code Online (Sandbox Code Playgroud)
然后在孩子身上我有类似的东西:
export const KeywordFilter: ({ keywords, setKeywords }) => {
const handleSearch = (newKeywords) => {
setKeywords(newKeywords)
};
return (
<div>
<span>{keywords}</span>
<input value={keywords} onChange={handleSearch} />
</div>
);
};
Run Code Online (Sandbox Code Playgroud)
我的问题是,我应该在父级上有一个回调函数来 setKeywords 还是可以传递 setKeywords 并从子级调用它?