Skip to content

Commit 2b01b1c

Browse files
committed
Fixed problem to sync status request with dymo fetch printers status
1 parent 41bcd21 commit 2b01b1c

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

demo/src/components/DymoAPIExample.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ export default function DymoAPIExample() {
1212
const {statusDymoFetchPrinters, printers} = useDymoFetchPrinters(statusDymoService);
1313

1414
const xmlMemo = useMemo(() => generateXmlExample(name, address), [address, name]);
15-
1615
return (
1716
<div>
1817
{statusDymoService !== "success" ? (
@@ -22,7 +21,10 @@ export default function DymoAPIExample() {
2221
<h3 style={{color: "green"}}>DYMO service is running in your PC.</h3>
2322
<input value={name} title="Name" onChange={e => setName(e.target.value)}/>
2423
<br/>
24+
<br/>
2525
<input value={address} title="Address" onChange={e => setAddress(e.target.value)}/>
26+
<br/>
27+
<br/>
2628
</React.Fragment>
2729
)}
2830
<DymoLabelPreview

src/useDymoFetchPrinters/index.js

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,22 @@ import {useAxiosGet} from "../useAxiosGet";
66

77
export function useDymoFetchPrinters(statusDymoService, modelPrinter = "LabelWriterPrinter", port = 41951) {
88
const [printers, setPrinters] = useState([]);
9+
const [innerStatus, setInnerStatus] = useState("init");
910
const {status, response} = useAxiosGet({
1011
url: getDymoUrl("GetPrinters", port),
1112
axiosInstance: dymoAxios,
1213
onlyDispatchIf: statusDymoService === "success"
1314
});
1415

1516
useEffect(() => {
16-
if (response) {
17+
if (status === "success" && response) {
1718
setPrinters(getDymoPrintersFromXml(response, modelPrinter));
19+
setInnerStatus(status);
1820
}
19-
}, [modelPrinter, response]);
21+
else {
22+
setInnerStatus(status);
23+
}
24+
}, [modelPrinter, response, status]);
2025

21-
return {statusDymoFetchPrinters: status, printers: printers};
26+
return {statusDymoFetchPrinters: innerStatus, printers: printers};
2227
}

0 commit comments

Comments
 (0)