Я пытаюсь использовать библиотеку компонентов ReactiveSearch
для создания базового c поискового приложения, и мне необходимо использовать компоненты в качестве управляемого компонента (https://reactjs.org/docs/forms.html). Для всех других фильтров, с которыми я работаю, это не проблема, и приложение обнаруживает изменения и обновления соответственно. Однако для этого компонента DateRange он не будет работать. Моя рабочая гипотеза состоит в том, что она имеет отношение к значению состояния, являющемуся объектом, а не массивом, но я пока не могу найти доказательства, подтверждающего это.
Я также пытался использовать обычный компонент класса, с тем же результатом.
Ссылка на песочницу: https://codesandbox.io/s/ecstatic-ride-bly6r?fontsize=14&hidenavigation=1&theme=dark
Basi c фрагмент кода без других фильтров
import React, { useState } from "react";
import {
ReactiveBase,
ResultsList,
DateRange,
SelectedFilters
} from "@appbaseio/reactivesearch";
const App = props => {
const [filterState, setFilterState] = useState({
DateFilter: { start: new Date(), end: new Date() }
});
return (
<div className="App">
<ReactiveBase
app="good-books-ds"
credentials="nY6NNTZZ6:27b76b9f-18ea-456c-bc5e-3a5263ebc63d"
>
<DateRange
value={filterState.DateFilter}
onChange={value => {
setFilterState({
...filterState,
DateFilter: {
start: value.start,
end: value.end
}
});
}}
componentId="DateFilter"
dataField="timestamp"
/>
<SelectedFilters />
</ReactiveBase>
</div>
);
};
export default App;