父传子
return (
<InfiniteScrollList
searchCon={{
KeyWords: keyWords,
Mandatory: mandatory,
CategoryCode: categoryCode,
RegisterStatusCode:props.registerStatusCode
}}
language={language}
changeVal={changeVal}
renderItem={renderItem}
requestMethods={GetMyLearnList}
/>
);
子接收;在props中接收以后:
Object.keys(searchCon).map((item) => { return searchCon[item] }循环,然后返回一个数组method
useEffect hooks 自动监听 …method 变化,从而调用方法 发起请求!
const {
noMore, // eg: {value: 'no More', valueCN: '没有更多了'}
noData, // eg: {value: 'no Data', valueCN: '暂无数据'}
language,
pageData, // eg: ['PageSize', 'PageIndex']
searchCon,
changeVal, // 当条件的值无变化时,此时又想组件进行重新渲染,需传入不同的changeVal,进行改变
useWindow,
renderItem,
initialLoad,
requestMethods,
} = props;
const { Item } = List;
const [count, setCount] = useState(0);
const [hasMore, setHasMore] = useState(true);
const [dataList, setDataList] = useState([]);
const [pageSize, setPageSize] = useState(10);
const [loading, setLoading] = useState(false);
const [infinitKey, setInfinitKey] = useState(0);
let method = searchCon ? Object.keys(searchCon).map((item) => { return searchCon[item] }) : [];
useEffect(() => {
initList(defaultSearchPage);
}, [...method, changeVal]);