【发布时间】:2020-05-09 08:36:43
【问题描述】:
我使用钩子制作了一个反应下拉组件。在 useEffect 挂钩中,我调用一个 api 来获取所有选项。在列表中多次调用下拉列表时,如何避免多次调用 api。代码结构是
const Dropdown = ({ handleChange }) => {
const [options, setOptions] = useState([]);
useEffect(() => {
//api call and setOptions
}, []);
return (
<Form.Dropdown name="abcd" label="abcd" options={options} onChange={handleChange} />
);
};
export default Dropdown;
我对 Redux 很熟悉,对 Rxjs 也比较熟悉。
【问题讨论】:
-
你只调用一次 getOption 是对的???
-
你使用了 useEffect 和 [ ] 依赖,所以它总是会在 api 调用 setOptions 时被调用,这可能是父组件重新加载的原因。
标签: reactjs react-redux react-hooks