Задать вопрос
@frogqwetr

Почему у меня перерендеривается компонент, в котором нет ни пропсов, ни состояния?

Почему у меня перерендеривается компонент, в котором нет ни пропсов, ни состояния?
У меня есть страница Product, содержащая в себе форму для создания
отзывов(FormCreateReview) к товару и сами отзывы(ReviewsList), также есть кнопка, при
нажатии на которую эти самые отзывы и показываются. Но почему - то вместе с
рендером отзывов, перерендеривается и форма, в которой нет ничего кроме jsx. Из-за чего
это происходит, как это решить?
Вывод в консоли, когда нажимаю на кнопку "посмотреть отзывы":
RENDER PRODUCT CARD
RENDER FORM
RENDER REVIEW LIST

const Product = () => {
    const [isShowReviewsProduct, setIsShowReviewsProduct] = useState(false)

    console.log("RENDER PRODUCT CARD")

    const toggleIsShowReviewsProduct = () => {
        setIsShowReviewsProduct(!isShowReviewsProduct)
    }

    const reviewsList = isShowReviewsProduct ? <ReviewsList idProduct={idProduct}  /> : null

    return (
        <div>
            <h2>Page Product</h2>
            <FormCreateReview />
            <div className="reviews">
                <button onClick={toggleIsShowReviewsProduct}>Показать отзывы</button>
                {reviewsList}
            </div>
        </div>
    )
}


const FormCreateReview = () => {


    console.log("RENDER FORM ")

    return  (

        <div className="form-reviews">
            <h4>Form Create Review...</h4>
            <input type="text"/>
            <button >Добавить отзыв</button>
        </div>
    )
}
  • Вопрос задан
  • 138 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Javascript.ru
    Курс по React
    5 недель
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Решения вопроса 1
Alexandroppolus
@Alexandroppolus
кодир
const FormCreateReview = React.memo(() => {
   ... 
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
insighter
@insighter
-First time? - Huh? (C#, React, JS)
Меняется состояние родительского компонента, вызывается повторный рендер всех его детей. Все правильно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
IT ATLAS Москва
от 200 000 до 250 000 ₽
ITK academy Казань
от 50 000 до 90 000 ₽