[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-hooks39 행 :
‘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(){}