Answer the question
In order to leave comments, you need to log in
How to write in state what the user entered into the input after pressing the button?
There is a task: when the user enters some word into the input and presses the Search button , this word should be set as the value in the field inputValue
. But I have no experience with inputs and buttons that send somewhere the value that the user entered.
app.js file:
import Search from ./Search.js
const App = () => {
const [value, setValue] = useState({
data: [],
inputValue: ""
});
/* Здесь должен быть какой-то такой метод который срабатывает когда считано значение с инпута и нажата кнопка
const какой-то метод = () => {
setValue((prev) => ({
...prev,
inputValue: устанвливаю значением то что ввел пользователь в инпут
}));
};
*/
/* И возможно нужно еще какой-то такой метод, но не уверен что его нужно. Я чесно плохо понимаю как считывать данные с инпутов. Но в одном коде видел что-то такое.
const updateSearchInput = (e) => {
setValue((prev) => ({
searchInput: e.target.value
}));
};
*/
return (
<div>
<Search здесь передают атрибуты какие-то />
<Table data={value.data}/>
</div>
);
};
export default () => {
return (
<div>
<input type="text" />
<button>Search</button>
</div>
);
};
Answer the question
In order to leave comments, you need to log in
Let Search store the value that the user enters and accept a button click handler that will be passed the value when called:
const Search = props => {
const [ value, setValue ] = React.useState('');
return (
<div>
<input type="text" value={value} onChange={e => setValue(e.target.value)} />
<button onClick={() => props.onSearch(value)}>Search</button>
</div>
);
};
<Search onSearch={search => setValue({ ...value, inputValue: search })} />
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question