Im trying to add and remove input box in a form. I will controll this box with useState hook. I dont have any problem with add in state variable but when I want to remove from state variable, state variable has wrong value.
import React, { useState } from 'react';
export default function Addable() {
const [element, setElement] = useState([]);
function add() {
const list = [...element];
const length = element.length;
list.push(
<React.Fragment>
<input key={length} />
<button onClick={()=>{_delete(length)}}>delete</button>
</React.Fragment>,
);
setElement(list);
}
function _delete(index) {
//****element has wrong value here****//
const list = [...element];
list.splice(index, 1);
setElement(list);
}
return (
<React.Fragment>
<button onClick={add}>add Element</button>
{element}
</React.Fragment>
);
}