Я буду sh генерировать входные данные на основе json, поэтому сначала я устанавливаю его в исходное состояние, затем в дочерний компонент enet Я хочу изменить его поле, дело в том, что компонент не обновляется ... Это рендерит один раз и не имеет представления, как сделать так, чтобы он обновлялся каждый раз, когда input onChange изменяет его значение. Любая идея, как заставить значение ввода обновляться каждый раз, когда я что-то набираю?
PARENT
function App() {
const [inputValue, setInputValue] = useState(chunkingRow);
const handleChunkingChange = (e, index) => {
let inputContent = inputValue;
const reg = new RegExp(/^[0-9]+$/);
if (e.target.value.match(reg)) {
inputContent[index] = {
...inputContent[index],
content: e.target.value,
};
setInputValue(inputContent);
console.log(inputValue);
} else console.log('not a number')
};
return (
<div>
<Wrapper>
{Chunk(inputValue, handleChunkingChange)}
</Wrapper>
</div>
);
}
CHILD
const Chunk = (inputValue, handleChunkingChange) => {
return(
<div>
{inputValue.map((el, index) => (
<div key={index}>
<p>{el.title}</p>
{console.log(el.content)}
<input
type="text"
onChange={(e, i) => handleChunkingChange(e, index)}
value={el.content}
/>
</div>
))}
</div>
);
}
ссылка на демо https://codesandbox.io/s/stoic-mirzakhani-46exz?file= / SRC / App. js