UNPKG

680 BJavaScriptView Raw
1import { useCallback, useEffect, useState } from "react";
2import dataUpdateEvents from "./dataUpdateEvents";
3export default function useCurrentRow(dataObject) {
4 const [record, setRecord] = useState(dataObject.currentRow() || {});
5 const updateRecord = useCallback(() => setRecord(dataObject.currentRow()), [dataObject]);
6 useEffect(() => {
7 const recordUpdateEvents = ["onCurrentIndexChanged", ...dataUpdateEvents];
8 recordUpdateEvents.forEach(event => dataObject.attachEvent(event, updateRecord));
9 updateRecord();
10 return () => recordUpdateEvents.forEach(event => dataObject.detachEvent(event, updateRecord));
11 }, [dataObject, updateRecord]);
12 return record;
13}
\No newline at end of file