首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我想打印一张带有蓝牙热打印机的本机收据。

我想打印一张带有蓝牙热打印机的本机收据。
EN

Stack Overflow用户
提问于 2021-08-22 14:24:21
回答 1查看 1.5K关注 0票数 1

你好,我想打印一张带有蓝牙热打印机的收据。我有代码到现在为止,它的工作,但给一个警告。有了这段代码,我可以打印一张收据,也请帮我去掉这个警告。这是我的密码。警告可能未处理的承诺拒绝(id: 0) TypeError:null不是一个对象(计算'RNBLEPrinter.init')

代码语言:javascript
运行
复制
    import React, { useState, useEffect } from "react";
    import {
      USBPrinter,
      NetPrinter,
      BLEPrinter,
    } from "react-native-thermal-receipt-printer";
    import { View, Text, TouchableOpacity, StyleSheet } from "react-native";
    
    function Print() {
      const [printers, setPrinters] = useState([]);
      const [currentPrinter, setCurrentPrinter] = useState();
    
      useEffect(() => {
        BLEPrinter.init().then(() => {
          BLEPrinter.getDeviceList().then(setPrinters);
        });
      }, []);
    
      (_connectPrinter) => (printer) => {
        //connect printer
        BLEPrinter.connectPrinter(printer.inner_mac_address).then(
          setCurrentPrinter,
          (error) => console.warn(error)
        );
      };
    
      printTextTest = () => {
        currentPrinter && USBPrinter.printText("this is new print");
      };
    
      printBillTest = () => {
        currentPrinter && USBPrinter.printBill("this is for bill testing");
      };
      return (
        <View style={styles.container}>
          {printers.map((printer) => (
            <TouchableOpacity
              key={printer.inner_mac_address}
              onPress={() => _connectPrinter(printer)}
            >
              {`device_name: ${printer.device_name}, inner_mac_address: ${printer.inner_mac_address}`}
            </TouchableOpacity>
          ))}
          <TouchableOpacity onPress={printTextTest}>
            <Text>Print Text</Text>
          </TouchableOpacity>
          <TouchableOpacity onPress={printBillTest}>
            <Text>Print Bill Text</Text>
          </TouchableOpacity>
        </View>
      );
    }
    export default Print;
    
    const styles = StyleSheet.create({
      container: {
        flex: 1,
        justifyContent: "center",
        alignItems: "center",
      },
    });
EN

回答 1

Stack Overflow用户

发布于 2021-08-22 15:13:40

看起来它可能来自react-native-thermal-receipt-printer库。Id查看节点模块,通常在index.js文件中,它将进行init调用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68882236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档