How to add keep updating state with new Time but to the same object key: 1?
This is how it should look:
time: ["21:10:56", "21:10:56", "21:10:56"]
Currently every time i press a key it creates a new object.
Same goes when i enter value in Number Two input to have its own key: 2 object and add time value to it.
const {useState, useEffect} = React;
const App = () => {
const [state, setState] = useState([])
const handleChange = (e, key) => {
const d = new Date()
const time = `${d.getHours()}:${d.getMinutes()}:${d.getSeconds()}`
setState((prevState) => {
// console.log(state[0].time)
// const initialArray = state.concat({ time })
// console.log('test', initialArray)
// const newArray = [...initialArray, { time }]
return [...prevState, { key, time: [time] }]
// return prevState.concat({ key, time: [time] })
})
}
useEffect(() => {
console.log(state)
}, [state])
return (
<div>
<div>
<p>
{`Number One:`}
<input type="number" onChange={(e) => handleChange(e, 1)} />
</p>
</div>
<div>
<p>
{`Number Two:`}
<input type="number" onChange={(e) => handleChange(e, 2)} />
</p>
</div>
</div>
);
};
ReactDOM.render(
<App/>,
document.getElementById("react")
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.8.4/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.8.4/umd/react-dom.production.min.js"></script>
<div id="react"></div>
