React hook : Скопировать один массив из дива и вставить в другой

суть проблемы в том, что у меня есть условно три блока, в один блок с помошью инпута я добавляю задачу, далее из этого блока при нажатие кнопки я должен отрпавить данные в другой блок, на этом моменте я и застрял, так как блок отправляеться, а вся информация из него нет, туда приходит просто массив в который вложен другой масив с данными:(

<div className="page__page">
            <div className="page__todo">
                        {inMessage.map((card)=>{
                            return(
                                <Card   key={card.id}
                                        card={card}
                                        deleteCard={deleteCard}
                                        sendCard={sendCard}
                                />
                            )
                        })}
             </div>
            <div className="page__progress">
                   {inProgress.map((props)=>{
                        return(
                            <Props  key={props.id}
                                    props={props}
                            />
                        )
                    })}
            </div>
     </div>

Код который отвечает за отправку :

 const [inMessage, setMessage] = React.useState([])
    const [inProgress, setProgress] = React.useState([])     
function sendMessage(inInput){
            if(inInput) {
                const newItem = {
                    id: Math.random().toString(15).substr(2, 10),
                    task: inInput,
                }
                setMessage([...inMessage, newItem])
            }
        }
    
        function sendCard(){
                setProgress([...inProgress, inMessage])
        }

И подскажите пожалуйста, в данный момент я для решения использую 3 разных дива, но правильно ли я думаю, что можно создать скажем массив Data, в который с помошью хука поместить три поля с разными id, замапить его и работать в пределах этого массива ?


Ответы (1 шт):

Автор решения: Сергей Ивонтьев

3 дня мучался, а решение было простым

onClick={()=> {sendCard(card)}

Аргумент положить в функцию отправки, а не хук.

 function sendCard(card){

            setProgress([...inProgress, card])
    }

Но еще один вопрос остаеться актуальным. Лучше использовать 3 разных поля для таких задач или же переиспользовать одно поле ? Если переиспользовать, то подскажите пожалуйста как лучше)

→ Ссылка