reactjs - 如何在组合反应钩子中调用函数?
问题描述
我有一个基本钩子(baseHook.js),其中包含一些功能。使用组合我试图在子钩子(formHook.js)中调用这些函数。
baseHook.js 如下
import React, { Fragment, useEffect, useState} from "react";
import PropTypes from "prop-types";
const BaseHook = ({ ...props }) => {
const [show, setshow] = useState(false);
//when hovered on activeInput -->'activeInput' is declared but its value is never read.
const activeInput = (input) => {
setshow(true);
}
return (
<Fragment>
{props.children}
{show ? <div>
<p>Div is visible</p>
</div> : null}
</Fragment>
);
};
BaseHook.propTypes = {
activeInput:PropTypes.func,
};
export default BaseHook;
现在我正在尝试在另一个 formHook.js 中使用 baseHook.js,其中应该调用输入 activeInput 的 onFocus。
import React, { Fragment, useEffect, useState} from "react";
import BaseHook from "components/BaseHook";
const FormHook = ({ ...props }) => {
return (
<BaseHook>
<Fragment>
<input
title= {"Input"}
onFocus={() => activeInput(InputValue)}
value={InputValue}
className="required-field"
/>
</Fragment>
<BaseHook>
);
};
export default FormHook;
没有从 baseHook 调用 activeInput 函数,因此无法 setshow(true)。我可以通过使用继承的 react-class 组件来实现这一点,但是有没有办法在 react-hooks 中调用组合中的函数?
解决方案
推荐阅读
- python - Python 3 中未解析的属性引用
- css - 如何将 CSS var() 添加到手写笔内置函数中?
- python - 使用具有混合类型列的 rpy2 将 pandas df 转换为 R data.frame
- javascript - 通过平滑滚动链接到另一个页面上的锚点
- asp.net - asp.net mvc 5 捆绑 jquery 不工作
- highcharts - 如何开发带有框注释的自定义图表,如附加图像
- sql - 在 Oracle DB 10g 中创建包
- php - 如何在分组多维数组中删除自动键
- javascript - javascript canvas pie loader在加载时暂停
- ios - ios 上的移动购买 SDK 的 Shopify 客户登录问题