[reactjs] React Hook“useState”는 React 함수 컴포넌트 나 커스텀 React Hook 함수가 아닌“app”함수에서 호출됩니다.

간단한 문제에 반응 후크를 사용하려고합니다.

const [personState,setPersonState] = useState({ DefinedObject });

다음과 같은 종속성이 있습니다.

"dependencies": {
    "react": "^16.8.6",
    "react-dom": "^16.8.6",
    "react-scripts": "3.0.0"
}

하지만 여전히 다음과 같은 오류가 발생합니다.

./src/App.js

7 행 :
React Hook “useState”는 React 함수 구성 요소 또는 사용자 지정 React Hook 함수가 아닌 “app”함수에서 호출됩니다. react-hooks / rules-of-hooks

39 행 :
‘state’는 정의
되지 않음

각 오류에 대해 자세히 알아 보려면 키워드를 검색하십시오.

구성 요소 코드는 다음과 같습니다.

import React, {useState} from 'react';
import './App.css';
import Person from './Person/Person';

const app = props => {
    const [personState, setPersonSate] = useState({ person:[ {name:'bishnu',age:'32'}, {name:'rasmi',age:'27'}, {name:'fretbox',age:'4'} ], });
    return (
        <div className="App">
            <h2>This is react</h2>
            <Person name={personState.person[1].name} age="27"></Person>
            <Person name={personState.person[2].name} age="4"></Person>
        </div> );
    };
    export default app;

사람 구성 요소

import React from 'react';

const person = props => {
    return(
        <div>
            <h3>i am {props.name}</h3>
            <p>i am {props.age} years old</p>
            <p>{props.children}</p>
        </div>
    )
};

export default person; 



답변

다음과 같이 ‘앱’을 대문자로 사용하십시오.

const App = props => {...}

export default App;

React에서 컴포넌트는 대문자로 시작해야하고 커스텀 후크는 use.


답변

Udemy에서 같은 과정을하고있는 것 같습니다.

그렇다면 대문자로

const app

const App

뿐만 아니라

export default app

export default App

그것은 나를 위해 잘 작동합니다.


답변

내가 아는 한 linter가이 패키지에 포함되어 있습니다. 그리고 그것은 당신이 대문자에서 시작해야한다는 것을 요구합니다. 확인해주세요.

그러나 나에게는 슬프다.


답변

함수 이름에 첫 글자 대문자를 사용하십시오.

function App(){}


답변

const 앱 대신 const 앱 사용


답변

앱 이름을 대문자로 바꾸십시오.

const App = props => {...}

export default App;


답변

이 오류가 발생합니다. “React Hook”useState “가 React 함수 구성 요소도 아니고 사용자 지정 React Hook 함수도 아닌”App “함수에서 호출되었습니다.”

솔루션 : 기본적으로 함수를 자본화해야합니다.

예를 들면 :

const Helper =()=>{}

function Helper2(){}