[英]How can I use React hooks in React classic `class` component?
[英]How can I use a React component in other component?
我这里有这个组件
扫描仪.js
import React, { Component } from "react";
import { render } from "react-dom";
import BarcodeScannerComponent from "react-qr-barcode-scanner";
function Scanner() {
const [data, setData] = React.useState("Not Found");
return (
<>
<BarcodeScannerComponent
width={500}
height={500}
onUpdate={(err, result) => {
if (result) setData(result.text);
else setData("Not Found");
}}
/>
<p>{data}</p>
</>
);
}
export default Scanner;
我想在另一个组件中使用这个组件,最好是点击按钮。 但这是不可能的,因为我违反了 React 中 Hooks 的规则。 为了使用,我必须使用来自 Scanner 组件的“数据”,然后将其发送到 Order 组件。
好吧! 所以现在我明白是什么问题了,首先我认为你在一个组件中有这 2 个文件,如果是,它会是这样的。
首先,在 Order.js 组件中导入您的Scanner.js 。 像这样。
import Scanner from "./Scanner";
然后在 order 组件中将其渲染到您想要的任何位置,它会是这样的。
<div className='form-group'>
<label htmlFor='palette'>Palette</label>
<input
type='text'
className='form-control'
id='palette'
name='palette'
placeholder={currentOrder.palette}
value={currentOrder.palette}
onChange={handleInputChange}
/>
<Scanner/>
</div>
就是这样
我发现你的代码有问题:
<BarcodeScannerComponent
width={500}
height={500}
onUpdate={(err, result) => {
if (result) setData(result.text);
else setData("Not Found"); // you don't need else in this position. it would be as follow.
setData("Not Found");
}}
/>
祝你好运:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.