рд╢реБрдн рджрд┐рди, рд╣реЗрдмреНрд░!рд╕рднреА рдЕрднрд┐рдХрд░реНрдордХ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЬреЛ рдкреАрдЫреЗ рдФрд░ рд╕рд╛рдордиреЗ рдХреЗ рдмреАрдЪ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ рд╕реЗ рдирд┐рдкрдЯрддреЗ рд╣реИрдВ, рдЬрд▓реНрджреА рдпрд╛ рдмрд╛рдж рдореЗрдВ рдорд┐рд▓рддреЗ рд╣реИрдВ, рдпрд╛ рдорд┐рд▓реЗ рдпрд╛ рдирд┐рдореНрди рддреНрд░реБрдЯрд┐ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░реЗрдВрдЧреЗ:
рд╕рдЪрдореБрдЪ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдирд┐рдХрд▓рддрд╛ рд╣реИ:рдЪреЗрддрд╛рд╡рдиреАред рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдЧрдП рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕реНрдерд┐рддрд┐ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрдеред рдпрд╣ рдПрдХ рдСрдкрд░реЗрд╢рди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдореЗрдореЛрд░реА рд▓реАрдХ рд╣реЛрдиреЗ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИред рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрд▓реАрдирдЕрдк рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд╕рднреА рд╕рджрд╕реНрдпрддрд╛рдПрдБ рдФрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд░рджреНрдж рдХрд░реЗрдВред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рдм рдХреБрдЫ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ, рдЖрдкрдХреЛ рдмрд╕ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд╛рдХреНрдпрд╛рдВрд╢реЛрдВ рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:- рд░рд╛рдЬреНрдп рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде
- рдПрдХ рд╕реНрдерд╛рдкрдирд╛ рд░рджреНрдж рдШрдЯрдХ;
- рд╕рднреА рд╕рджрд╕реНрдпрддрд╛ рдФрд░ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд░рджреНрдж рдХрд░реЗрдВ
- рд╕рд╛рдл рд╕рдлрд╛рдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
рд╣реБрдХ рдХреЗ рджрд┐рд▓ рдореЗрдВред рдХрдЯ рдХреЗ рдиреАрдЪреЗ рдЬрд╛рдУ!рдЗрд╕рд▓рд┐рдП:- рд╕рднреА Reajjs рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╕реНрдерд┐рддрд┐ (рд╕реНрдерд┐рддрд┐) рд╣реИ рдФрд░ рдРрд╕рд╛ рдПрдХ рдЕрдкрдбреЗрдЯ (рд╕реЗрдЯрд╕реНрдЯреЗрдЯ) рднреА рд╣реИред рдореИрдВ рд╡рд╣ рдирд╣реАрдВ рд░рд╣реВрдВрдЧрд╛
- . :
1) ;
2) ;
3) ;
тАФ 3 . .
- . - , : . , async/await тАФ .
- useEffect. return () => {} useEffect. , - , : .
рдЪрд▓реЛ рдПрдХ рдЧрд▓рддреА рдХрд░рддреЗ рд╣реИрдВ: рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдо рдПрдХ рдореВрд╡реА рд╡рд┐рд╡рд░рдг рдЕрдкрд▓реЛрдб рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд╛рдЗрдЯ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ (рд╣рдо moviedb рдПрдкреАрдЖрдИ рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдирд╣реАрдВ рдЬрд╛рддреЗ рд╣реИрдВ , рд▓реЗрдХрд┐рди рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдлрд┐рд▓реНрдо рдХреЛ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддреЗ рд╣реИрдВ)ред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рдкреГрд╖реНрда рд╣реИрдВ:рд╣рдорд╛рд░реЗ рдмрд╛рд░реЗ рдореЗрдВ рджреЛрдиреЛрдВ рдкреГрд╖реНрдареЛрдВ рдХреЗ рд▓рд┐рдВрдХ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдкреИрдирд▓ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣реЗрдбрд░ рдореЗрдВред рдореБрдЦреНрдп рдкреГрд╖реНрда ("рд╣реЛрдо") рдкрд░ рдлрд┐рд▓реНрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреАрда рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рд╣реЛрддрд╛ рд╣реИред/src/Pages/HomePage.jsimport React, { useState, useEffect } from 'react';
import { MOVIE_DB_GET } from '../config';
const HomePage = () => {
useEffect(() => {
const fetchData = async () => {
try {
const response = await fetch(MOVIE_DB_GET);
const result = await response.json();
console.log(result, 'result')
} catch (e) {
console.error(e.message)
}
};
fetchData();
}, []);
return (
<main>
<h2> </h2>
</main>
)
};
export default HomePage;
/src/Pages/AboutPage.jsimport React from 'react';
const AboutPage = () => {
return (
<main>
<h2> </h2>
<p>
</p>
</main>
)
};
export default AboutPage;
рдЕрдиреБрд░реЛрдз рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╛рдж рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╛рдЬреНрдп рдХреЛ рдЬрд╛рдирдХрд╛рд░реА рд▓рд┐рдЦрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ:/src/Pages/HomePage.jsimport React, { useState, useEffect } from 'react';
import { MOVIE_DB_GET } from '../config';
const HomePage = () => {
const [ movie, setMovie ] = useState(null);
useEffect(() => {
const fetchData = async () => {
try {
const response = await fetch(MOVIE_DB_GET);
const result = await response.json();
console.log(result, 'result');
setMovie(result);
} catch (e) {
console.error(e.message)
}
};
fetchData();
}, []);
return (
<main>
<h2> </h2>
<p> </p>
{
movie ? descriptionMovie() : false
}
</main>
)
};
export default HomePage;
рд╣рдо рдирд┐рдореНрди рддрд░реАрдХреЗ рд╕реЗ рддреНрд░реБрдЯрд┐ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВрдЧреЗ - рд╣рдо рдПрдХ рдорд╛рд░реНрдЧ рд╕реЗ рджреВрд╕рд░реЗ рдорд╛рд░реНрдЧ рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВрдЧреЗ, рдЕрд░реНрдерд╛рдд, "рд╣рдорд╛рд░реЗ рдмрд╛рд░реЗ рдореЗрдВ" рдкреГрд╖реНрда рдкрд░ рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ, рд╣рдо рдкреГрд╖реНрда "рд╣реЛрдо" рдкрд░ рдЬрд╛рдПрдВрдЧреЗ рдФрд░ рддреБрд░рдВрдд рдкреГрд╖реНрда рдкрд░ рд╡рд╛рдкрд╕ "рд╣рдорд╛рд░реЗ рдмрд╛рд░реЗ рдореЗрдВ" рдФрд░ рдзреНрд╡рдирд┐ " рдкреНрд░рджрд░реНрд╢рди рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ ... " .. редрддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рддреБрд░рдВрдд рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ, рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрднреА рднреА рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдЕрдиреБрд░реЛрдз рдХреЛ рдЦреЗрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреГрд╖реНрда рдкрд░ рддреНрд╡рд░рд┐рдд рд╡рд╛рдкрд╕реА рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣реЛрдо рдШрдЯрдХ рдЕрдирдорд╛рдЙрдВрдЯ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЗрд╕ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рддрд┐ рд░реАрд╕реЗрдЯ рд╣реЛ рдЬрд╛рдПрдЧреА, рд▓реЗрдХрд┐рди рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдЕрдиреБрд░реЛрдз рдЕрднреА рднреА рд╕реЗрдЯрдореЛрд╡реА рд▓реЙрдиреНрдЪ рдХрд░реЗрдЧрд╛, рдЬреЛ рдЕрдм рдирд╣реАрдВ рд╣реИ рдФрд░ рдПрдХ рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХ рджреЗрдЧрд╛ред рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рдПрдХ рдШрдЯрдХ рдХреЛ рдЕрдирдорд╛рдЙрдВрдЯ рдХрд░рддреЗ рд╕рдордп рд░рд╛рдЬреНрдп рдЕрдкрдбреЗрдЯ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рд╣реИ:/src/Pages/HomePage.jsimport React, { useState, useEffect } from 'react';
import { MOVIE_DB_GET } from '../config';
const HomePage = () => {
const [ movie, setMovie ] = useState(null);
useEffect(() => {
let cleanupFunction = false;
const fetchData = async () => {
try {
const response = await fetch(MOVIE_DB_GET);
const result = await response.json();
console.log(result, 'result')
if(!cleanupFunction) setMovie(result);
} catch (e) {
console.error(e.message)
}
};
fetchData();
return () => cleanupFunction = true;
}, []);
return (
<main>
<h2> </h2>
<p> </p>
{
movie ? descriptionMovie() : false
}
</main>
)
};
export default HomePage;
рд╕рдВрдкреВрд░реНрдг:рд╕рднреА рд╕реНрд░реЛрдд рдХреЛрдб рдпрд╣рд╛рдВ рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ: https://gitlab.com/ImaGadzhiev/react-cant-perform