Мне нужно изменить некоторые компоненты реагировать на выбор (NoOptionsMessage, Option).
function NoOptionsMessage(props) {
if (props.options.length) return null;
return (
<Typography
className={props.selectProps.classes.noOptionsMessage}
{...props.innerProps}
>
No Result found
</Typography>
);
}
function Option(props) {
return (
<MenuItem
buttonRef={props.innerRef}
selected={props.isFocused}
component="div"
style={{
fontWeight: props.isSelected ? 500 : 400
}}
{...props.innerProps}
>
{props.children}
</MenuItem>
);
}
что я вижу, api вызывает правильно отвечающие данные и NoOptionsMessage каждый раз, когда вызывается после этого. Но, как ни странно, компонент Option в некоторых случаях не вызывается.
Вот моя функция рендеринга, где я использовал response-select
render() {
const { classes, options, searchable } = this.props;
const components = {
Option,
NoOptionsMessage
};
console.log('result', options); // evertime prints result
return (
<div className={classes.root}>
<Select
classes={classes}
options={options}
isSearchable={searchable}
components={components}
value={this.state.selectedOption}
onChange={this.handleChange}
placeholder={this.props.placeholder}
/>
</div>
);
}