Если вы хотите, чтобы это происходило при нажатии кнопки, то вам не нужен эффект, вам нужен обработчик щелчка.
const Search = () => {
const [text, setText] = useState('');
const [object, setObject] = useState(null);
const onClick = () => {
axios.get(`https://api/${text}`)
.then(res => {
setObject(text)
})
.catch(err => {
console.log(err)
})
})
const onChange = e => setText(e.target.value);
return (
<div>
<form className="some-class">
<input type="text" value={name} className="some-class" placeholder="I need information about..." onChange={onChange}/>
<input onClick={onClick} type="submit" className="some-class" value="Search"/>
</form>
</div>
)
}
export default Search;
PS: в моем примере используется setObject(text)
, поскольку это то, что вы имели в своем коде, но, вероятно, это опечатка. Возможно, вы имели в виду setObject(res.data)