问题:在函数“selectmenu”中调用了React钩子“React.useEffect”,该函数既不是React函数组件,也不是自定义React钩子函数
目标:我只想在单击按钮时挂载组件('Component DidMount/WillUnmount)(使用useffect()),而不是在加载文件(或整个组件)时挂载
实际目标:我想在单击时选择(或突出显示)一个文件(自定义)。但是,当用户在文件()的维度之外单击时,所选文件应被取消选择(删除突出显示)。
export default function Academics() {
let [ ismenuselected, setmenuselection] = useState(0)
const selectmenu = () => {
console.log("Menu to Select")
React.useEffect(() => {
console.log('Component DidMount/WillUnmount')
return () => {
console.log('Component Unmounted')
}
}, [isfolderselected]);
}
return (
<div onClick={selectmenu}></div>
)
}
注:
我想我得到了你想要达到的目标。首先,不能在函数中定义钩子。您可以做的是在至少一个依赖项发生更改后触发effect回调。
useEffect(() => {
// run code whenever deps change
}, [deps])
虽然对于这个特殊的问题(从您的描述中我了解到),我会这样做:
export default function Academics() {
let [currentOption, setCurrentOption] = useState()
function handleSelectOption(i) {
return () => setCurrentOption(i)
}
function clearSelectedOption() {
return setCurrentOption()
}
return (options.map((option, i) =>
<button
onClick={handleSelectOption(i)}
className={i === currentOption ? 'option option--highlight' : 'option'}
onBlur={clearSelectedOption}
></button>
))
}
我试图在一个功能组件中调用一个API,它是一个反应挂钩,并基于结果,重新呈现组件的内容。下面是代码: 调用API的组件- 以下是功能: 我正在尝试获取状态数据,并根据数据重新渲染组件。这里处于调用外部API的操作中。 正在调用操作并成功获取数据,但我不确定为什么状态正在更新-我得到了以下错误- 在函数“setResults”中调用React钩子“useState”,该函数既不是React函数组件,
我不熟悉react钩子和功能组件,我正在尝试在我的功能组件中使用useState,它会向我显示前面提到的错误 使用React、ant设计 参考以下输入链接描述在这里 错误: 在函数“deviceStatus”中调用React钩子“useState”,该函数既不是React函数组件,也不是自定义React钩子函数React钩子/钩子规则
我正在跟随一个关于Udemy的反应课程。现在我达到了我的代码的这一点 编译后,我遇到了这个错误消息,我不知道该怎么做或意思
我试图在一个功能组件中进行API调用,它是一个react-hook,并基于结果,重新呈现组件的内容。代码如下: 调用API的组件- 下面是函数: 我试图获取州的数据,并根据这些数据重新呈现我的组件。这里在调用外部API的动作中。 正在调用操作并成功获取数据,但我不确定为什么状态会更新--我得到了以下错误-
我试着用react钩子来解决一个简单的问题