【发布时间】:2020-06-10 12:09:25
【问题描述】:
我正在尝试使用ReactiveSearch 组件库来构建一个基本的搜索应用程序,并且需要将这些组件用作受控组件(https://reactjs.org/docs/forms.html)。对于我正在使用的所有其他过滤器,这没问题,并且应用程序会相应地检测更改和更新。但是,对于这个 DateRange 组件,它不起作用。我的工作假设是它与作为对象而不是数组的状态值有关,但我还找不到支持这一点的证据。
我也尝试过使用常规类组件,结果相同。
沙盒链接:https://codesandbox.io/s/ecstatic-ride-bly6r?fontsize=14&hidenavigation=1&theme=dark
基本代码 sn-p 没有其他过滤器
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;
【问题讨论】: