【发布时间】:2019-09-01 14:29:32
【问题描述】:
我有一个自定义钩子来获取表单提交上的数据
export const getIssues = ({ user, repo }) => {
const [issues, setIssues] = useState([]);
const handleInputChange = (e) => {
e.preventDefault();
axios.get(`https://api.github.com/repos/${user}/${repo}/issues`)
.then((response) => {
setIssues(response.data);
})
.catch((err) => console.log(err));
};
return {
issues,
onSubmit: handleInputChange,
};
};
在我的组件中我这样称呼它
const response = getIssues({ user: user.value, repo: repo.value })
return (
<form className={css['search-form']} {...response}>...</form>
)
问题是我想从另一个组件的钩子中获取我的issues 值。为此,我想使用上下文。但我不知道该怎么做。
我可以调用这个函数并将它传递给Provider,但我不能在没有参数的情况下调用它。所以我有点卡住了。
我们将不胜感激。
【问题讨论】:
-
既然
getIssues是一个钩子,你应该称它为useIssues一个linter 应该抱怨这个。e.preventDefault不属于问题挂钩,因为您提供了值user.value和repo.value我假设您的表单以某种方式设置了这些,因此只需调用useIssues就足够了。
标签: reactjs