I code useState like this post
const [searchQuery, setSearchQuery] = React.useState({
Search1: "",
Search2: "",
});
And it throws
Objects are not valid as a React child (found: object with keys {Search1, Search2}). If you meant to render a collection of children, use an array instead.
Full code
import * as React from 'react'
const Search = ({ handlerProp, searchQueryProp, inputName }) => {
return (
<div className="App">
<input type="text" name={inputName} onChange={handlerProp} value={searchQueryProp} />
</div>
);
}
function App() {
const [searchQuery, setSearchQuery] = React.useState({
Search1: "",
Search2: "",
});
function handleEmit({ target: { name, value } }) {
setSearchQuery((prevState) => ({...prevState, [name]: value}));
}
return (
<div className="App">
<Search handlerProp={handleEmit} searchQueryProp={searchQuery} inputName="Search1" />
<Search handlerProp={handleEmit} searchQueryProp={searchQuery} inputName="Search2" />
</div>
);
}