# YoTest-React-SDK
**Repository Path**: yo-test-team/yo-test-react-sdk
## Basic Information
- **Project Name**: YoTest-React-SDK
- **Description**: YoTest网页端(React 17+)SDK
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: https://www.fastyotest.com
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2021-08-22
- **Last Updated**: 2021-11-06
## Categories & Tags
**Categories**: Uncategorized
**Tags**: React, Captcha, yotest, SDK
## README
## YoTest-React-SDK 文档
> 基于虚拟机保护、设备特征识别和操作行为识别的新一代智能验证码,具备智能评分、抗 Headless、模拟伪装、针对恶意设备自动提升验证难度等多项安全措施,帮助开发者减少恶意攻击导致的数字资产损失,强力护航业务安全。
- [仓库入口](https://gitee.com/yo-test-team/yo-test-react-sdk#%E4%BB%93%E5%BA%93%E5%85%A5%E5%8F%A3)
- [兼容性](https://gitee.com/yo-test-team/yo-test-react-sdk#%E5%85%BC%E5%AE%B9%E6%80%A7)
- [安装](https://github.com/YoTest-team/YoTest-Web-SDK#%E5%AE%89%E8%A3%85)
- [快速开始](https://gitee.com/yo-test-team/yo-test-react-sdk#%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B)
- [验证模式](https://gitee.com/yo-test-team/yo-test-react-sdk#%E9%AA%8C%E8%AF%81%E6%A8%A1%E5%BC%8F)
- [API](https://gitee.com/yo-test-team/yo-test-react-sdk#api)
### 仓库入口:
### 兼容性
- React 17+
### 安装
> npm install yotest-react-sdk --save
### 快速开始
当你使用 npm 进行安装后,你可以通过 import 直接引入
```typescript
import React from "react";
import useYoTest from "yotest-react-sdk";
export default function App() {
const { render } = useYoTest({
accessId: "your accessId",
style: {
width: 300,
height: 40,
},
onSuccess({ token, verified }) {
console.log("success", token, verified);
},
onError({ code, message }) {
console.log("error", code, message);
},
});
return
{render()}
;
}
```
### 验证模式
- 浮动式,默认 PC 展现形式,移动端不支持此模式,展示为弹窗式,设置 product: "float" 时生效

```typescript
import React from "react";
import useYoTest from "yotest-react-sdk";
export default function App() {
const { render } = useYoTest({
accessId: "your accessId",
product: "float",
style: {
width: 300,
height: 40,
},
onSuccess({ token, verified }) {
console.log("success", token, verified);
},
onError({ code, message }) {
console.log("error", code, message);
},
});
return {render()}
;
}
```
- 弹窗式,设置 product: "popup" 时生效

```typescript
import React from "react";
import useYoTest from "yotest-react-sdk";
export default function App() {
const { render } = useYoTest({
accessId: "your accessId",
product: "popup",
style: {
width: 300,
height: 40,
},
onSuccess({ token, verified }) {
console.log("success", token, verified);
},
onError({ code, message }) {
console.log("error", code, message);
},
});
return {render()}
;
}
```
- 隐藏式,设置 product: "bind" 时生效,同时需要在 onReady 之后自行调用 [verify](https://github.com/YoTest-team/YoTest-Vue-SDK#verify) 方法进行展现

```typescript
import React from "react";
import useYoTest from "yotest-react-sdk";
export default function App() {
const { render, verify } = useYoTest({
accessId: "your accessId",
product: "bind",
style: {
width: 300,
height: 40,
},
onReady() {
// 你也可以绑定事件,但需要注意:
// 一定要在onReady之后进行verify的调用
verify();
},
onSuccess({ token, verified }) {
console.log("success", token, verified);
},
onError({ code, message }) {
console.log("error", code, message);
},
});
return {render()}
;
}
```
- 自定义式,设置 product: "custom" 时生效,同时需要设置 [area](https://github.com/YoTest-team/YoTest-Vue-SDK#area-string) 参数

```typescript
import React from "react";
import useYoTest from "yotest-react-sdk";
export default function App() {
const { render } = useYoTest({
accessId: "your accessId",
product: "custom",
area: ".App",
bgColor: "red",
style: {
width: 300,
height: 40,
},
onSuccess({ token, verified }) {
console.log("success", token, verified);
},
onError({ code, message }) {
console.log("error", code, message);
},
});
return {render()}
;
}
```
### API
### useYoTest(props)
- `props` \