Задать вопрос
  • Как дать каждому элементу свой id?

    XanXanXan
    @XanXanXan
    Здесь состояние цвета одно на все дома. Его нужно вынести в элемент House, чтобы у каждого элемента было состояние, либо сделать более сложное состояние цвета, чтобы оно сохраняло цвета всех домов.

    Или просто положить состояние цвета в это состояние домов:
    const [houses, setHouses] = useState([
            {id: 1, title: 'house 1'},                           
        ])

    Например: {id: 1, title: 'house 1', color: 'green'}.
    Ну и onChangeColor, разумеется переделать, чтобы измененный цвет нужного дома правильно в состояние записывался.
    Ответ написан
    Комментировать
  • Как конвертировать поле обьекта в число?

    Seasle
    @Seasle Куратор тега React
    <House>{Array.from({ length: parseInt('NAME') }, (_, index) => (<Floor key={index} />))}</House>

    или
    const range = (count) => new Array(count).fill(null).map((_, index) => index);

    <House>{range(parseInt('NAME')).map((index) => (<Floor key={index} />))}</House>
    Ответ написан
    Комментировать
  • Как конвертировать поле обьекта в число?

    petushok55
    @petushok55
    Обучаюсь на практике.
    Попробуй это:
    <div className={styles.city}>
        {houses.map(function (house){
            const numOfFloors = parseInt(house.name);
            const floors = [];
            for (let i = 0; i < numOfFloors; i++) {
                floors.push(<Floor key={i}/>);
            }
            return (
                <House key={house.name}>
                    {floors}
                </House>
            );
        })}
    </div>
    Ответ написан
    Комментировать