为什么useContext在我的函数中不起作用?

Leart Morina

我正在尝试构建待办事项列表应用程序,但我一直陷在这个问题中。我非常有兴趣了解如何解决此错误。

我已经将所有功能重新排列为类组件,但这不能解决我的错误。

List.js

import React, { createContext } from 'react';

export let ListContext = createContext();

export const Data = [
    {
        name: 'Joe',
        age: 19
    },
    {
        name: 'John',
        age: 16
    },
    {
        name: 'Claire',
        age: 17
    },
    {
        name: 'Alex',
        age: 16
    }
]

export default class List extends React.Component {

    list = () => {
        let list = Data.map(Data => <li key={Data.age}>{Data.name}</li>)
        return (
            <div>{list}</div>
        )
    }
    render() {
        return (
            <div>

                {this.list()}
            </div>
        )

    }
}

TodoForm.js

export default function Todo() {
    let inputValue = {
        value: ''
    }
    function handleChange(e) {
        inputValue.value = e.target.value;
    }
    function handleClick() {
        const value = useContext(ListContext);
    }
    return (
        <React.Fragment>
            <div>
                <input type="text" onChange={handleChange} className="inp" />
                <button onClick={handleClick} className="btn" >Add New</button>

            </div>

        </React.Fragment>
    )
}

useContext返回此错误:./src/TodoForm.js第12行:在函数“ handleClick”中调用了React Hook“ useContext”,该函数既不是React函数组件也不是自定义的React Hook函数react-hooks / rules-of-hooks

ravibagul91

问题在这里

function handleClick() {
   const value = useContext(ListContext);
}

文档

不要在循环,条件或嵌套函数中调用Hook。相反,请始终在React函数的顶层使用Hook。通过遵循此规则,可以确保每次渲染组件时都以相同的顺序调用Hook。这就是让React在多个useState和useEffect调用之间正确保留Hook的状态的原因。(如果您感到好奇,我们将在下面对此进行深入说明。)

从React函数组件调用Hooks。从自定义挂钩中调用挂钩(我们将在下一页中了解它们)。

useContext是反应Hook,您不能将其调用为常规函数。Hook页面加载完成后,React自动运行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么我的toFixed()函数不起作用?

为什么我的函数调用不起作用?

为什么我的隐式函数参数不起作用?

为什么函数'x'.write(frame)对我不起作用?

为什么<<-分配在我的函数中起作用,但是<-却不起作用?

为什么我的this.setState在函数中不起作用?

为什么replace()在我的Python函数中不起作用?

为什么我在构造函数中的绑定不起作用?

为什么我的def函数在Python中不起作用?

如果我在PHP中调用JS函数,为什么我的JS代码不起作用?

为什么我的deleteMessage函数不起作用?

为什么我的DeleteNode()函数不起作用?

为什么我的%d函数不起作用?

为什么onLocationChanged函数对我不起作用?

为什么我的append函数不起作用?

为什么我的函数的此签名不起作用?

为什么“ $ _COOKIE”导致我的fwrite()函数不起作用?

为什么我的transposeMatrix函数不起作用?

为什么我的 scanf 在函数中不起作用?

为什么 if/else 语句在我的函数中不起作用?

为什么我的地图函数返回视图不起作用?

为什么用于获取数组长度的 sizeof 函数在我的函数中不起作用?

为什么我的回文函数不起作用?

我的代码在 $(document).ready() 函数中不起作用。谁能帮我理解为什么?

当我使用递归函数时,为什么函数参数在方括号中不起作用

不明白为什么我的异步等待在我的 lambda 函数中不起作用

dplyr 中的多于/少于函数不起作用(或者我不明白为什么它们不起作用)

为什么我的 min() 函数在 Python 中不起作用

为什么 Logical Or 在我的函数中不起作用