Я создаю панель поиска, которая извлекает имена из нашей базы данных, но, поскольку у нескольких пользователей может быть одно и то же имя (мы различаем guish по полю uid), я хочу, чтобы щелкнув по одной из этих опций получит мне соответствующее поле uid, чтобы я мог перенаправить страницу на страницу, связанную с их uid, et c.
Вот соответствующий фрагмент кода:
`
const Search = (props) => {
// profiles should be an array (of Profile objects)
// Profile objects have format {uid: , name:, location: , img: , occupation: }
const [profiles, setProfiles] = useState([]);
const classes = props.classes;
const handleChange = async (event) => {
const name = event.target.value;
if (name.length > 0) {
const result = await searchForProfiles(name);
setProfiles(result);
if (result.length > 0) {
console.trace(result);
}
}
};
return (
<div className={classes.search}>
<div className={classes.searchIcon}>
<SearchIcon />
</div>
<Autocomplete
freeSolo
id="free-solo-2-demo"
disableClearable
options={profiles}
getOptionLabel={option => option.name}
renderInput={params => (
<InputBase
{...params}
placeholder="Search…"
onKeyPress={event => {
handleChange(event);
}}
classes={{
root: classes.inputRoot,
input: classes.inputInput,
}}
InputProps={{ ...params.InputProps, type: 'search' }}
/>
)}
/>
</div>
)
};