袝褋谢懈 褍 胁邪褋 械褋褌褜 褋泻邪薪械褉 斜邪褉泻芯写邪 懈 胁邪屑 薪邪写芯 械谐芯 懈薪褌械谐褉懈褉芯胁邪褌褜 胁 react 锌褉懈谢芯卸械薪懈械.
袛械屑芯 锌芯 锌褉懈屑械薪械薪懈褞 https://sinyawskiy.github.io/react-usb-barcode-scanner/ 袙 泻芯薪褋芯谢懈 屑芯卸薪芯 褍胁懈写械褌褜 泻邪褋褌芯屑薪褍褞 芯斜褉邪斜芯褌泻褍 斜邪褉泻芯写邪 胁 middleware.
袧邪 褋芯斜褘褌懈械 document keyup 胁械褕邪械褌褋褟 芯斜褉邪斜芯褌褔懈泻. 袨薪 褋屑芯褌褉懈褌 械褋谢懈 褋懈屑胁芯谢褘 写芯褋褌邪褌芯褔薪芯 斜褘褋褌褉芯 薪邪斜懈褉邪褞褌褋褟, 褋芯褏褉邪薪褟械褌 懈褏 胁 锌邪屑褟褌懈, 锌芯褋谢械 芯泻芯薪褔邪薪懈褟 斜褘褋褌褉芯谐芯 薪邪斜芯褉邪 写懈褋锌邪褌褔懈褌 褋芯斜褘褌懈械 褋 褌械泻褋褌芯屑.
export {
barcodeScannerMiddleware,
barcodeScannerReducer,
BARCODE_SCANNED,
BARCODE_SCANNING,
BarcodeScanner,
enableBarcodeScanner,
disableBarcodeScanner,
setHistoryInfo,
}
袩褉芯锌懈褋邪褌褜 胁 reducers.js
import { barcodeScannerReducer } from 'react-usb-barcode-scanner';
export default {
...,
barcodeScanner: barcodeScannerReducer,
}
袩褉芯锌懈褋邪褌褜 胁 middleware.js
import { applyMiddleware } from 'redux';
import { barcodeScannerMiddleware } from 'BarcodeScanner';
applyMiddleware([..., barcodeScannerMiddleware])
袛芯斜邪胁懈褌褜 胁 App.js
<Root>
...
<BarcodeScanner config={{
intervalBetweenKeyPress: 100,
scanningEndTimeout: 200,
debug: true,
ignoreOnInput: false,
historyLength: 0,
}}/>
...
</Root>
袙褋褟 芯斜褉邪斜芯褌泻邪 锌褉芯懈褋褏芯写懈褌 胁 屑懈写写谢械胁邪褉械, 褌邪屑 写懈褋锌邪褌褔邪褌褋褟 薪械芯斜褏芯写懈屑褘械 褋芯斜褘褌懈褟 懈 芯斜褉邪斜邪褌褘胁邪褞褌褋褟 斜邪褉泻芯写褘.
袩褉懈屑械褉 褋屑芯褌褉懈褌械 胁 锌邪锌泻械 example :)
TODO: 袧邪 hook 锌芯泻邪 薪械 锌芯谢褍褔懈谢芯褋褜 褉械邪谢懈蟹芯胁邪褌褜 褏褉邪薪械薪懈械 芯斜褗械泻褌邪 褌懈锌邪 timeout. 袧械褌 芯斜薪褍谢械薪懈褟 懈薪褎芯褉屑邪褑懈懈 锌褉懈 薪邪褔邪谢械 褋泻邪薪懈褉芯胁邪薪懈褟.
袣芯薪褎懈谐褍褉邪褑懈褟 config.js
export default {
intervalBetweenKeyPress: 100, // 械褋谢懈 屑械卸写褍 薪邪卸邪褌懈褟屑懈 屑械薪褜褕械 100 屑褋 (褍 褋泻邪薪械褉邪 锌褉懈屑械褉薪芯 25 屑褋),
scanningEndTimeout: 200, // 薪邪卸邪褌懈褟 锌褉械泻褉邪褌懈谢懈褋褜 卸写械屑 200 屑褋, 褌芯 胁胁芯写 锌褉械泻褉邪褌懈谢褋褟
debug: true,
historyLength: 5,
}
袧械芯斜褟蟹邪褌械谢褜薪褘泄 邪褌褌褉懈斜褍褌 config 锌械褉械写邪褢褌褋褟 胁 泻芯屑锌芯薪械薪褌:
import config from './config';
<BarcodeScanner config={config} />
袧械芯斜褏芯写懈屑芯 胁 泻芯薪褎懈谐 褎邪泄谢械 褍褋褌邪薪芯胁懈褌褜 锌邪褉邪屑械褌褉 historyLength: 5, 泻芯谢懈褔械褋褌胁芯 蟹邪锌懈褋械泄 胁 懈褋褌芯褉懈懈, 褋邪屑邪褟 锌芯褋谢械写薪褟褟 褋邪屑邪褟 薪芯胁邪褟.
袙褋褟 懈褋褌芯褉懈褟 谢械卸懈褌 胁 褋褌芯褉械 斜邪褉泻芯写 褋泻邪薪械褉邪 胁 屑邪褋褋懈胁械 history. 袙 胁懈写械 芯斜褗械泻褌邪, 写邪褌褘 date 胁 褎芯褉屑邪褌械 ISO 8601, 懈 褋褌褉芯泻懈 data 泻芯褌芯褉邪褟 斜褘谢邪 芯褌褋泻邪薪懈褉芯胁邪薪邪.
效褌芯斜褘 写芯斜邪胁懈褌褜 胁 懈褋褌芯褉懈褞, 薪邪锌褉懈屑械褉 懈屑褟 锌芯谢褜蟹芯胁邪褌械谢褟 懈谢懈 懈写械褌懈褎懈泻邪褌芯褉, 懈褋锌芯谢褜蟹褍械褌褋褟 action setHistoryDict, 泻芯褌芯褉褘泄 胁 payload 锌褉懈薪懈屑邪械褌 dict 泻芯褌芯褉褘泄 锌芯褌芯屑 褉邪褋写懈褋褌褉邪泻褔懈胁邪械褌褋褟 胁 history 锌褉懈 褋泻邪薪懈褉芯胁邪薪懈懈.
https://www.npmjs.com/package/react-usb-barcode-scanner https://github.com/sinyawskiy/react-usb-barcode-scanner