📅  最后修改于: 2023-12-03 14:52:33.439000             🧑  作者: Mango
在本教程中,我们将学习如何使用ReactJS创建一个简单的域名查找器应用程序。我们将使用WHOIS API,该API允许我们查询任何顶级域名的WHOIS信息。
首先,我们需要设置ReactJS项目。我们可以使用React官方提供的create-react-app工具来快速创建一个React应用程序。在终端中运行以下命令来安装它:
npm install -g create-react-app
一旦安装完成,我们可以使用以下命令创建一个ReactJS项目:
create-react-app domain-lookup-app
该命令将创建一个名为domain-lookup-app的React项目,并自动安装所需的依赖项。
在我们可以开始编写代码之前,我们需要获取WHOIS API密钥。我们可以在https://whois.whoisxmlapi.com/注册并获取免费的API密钥。
接下来,我们将创建一个简单的UI,该UI将允许用户输入要查询的域名。打开App.js文件,并将其替换为以下代码:
import React, { useState } from 'react';
import './App.css';
function App() {
const [domain, setDomain] = useState('');
const handleInputChange = (event) => {
setDomain(event.target.value)
}
const handleSubmit = (event) => {
event.preventDefault();
console.log(domain);
}
return (
<div className="App">
<header className="App-header">
<h1>Domain Lookup App</h1>
<form onSubmit={handleSubmit}>
<input type="text" placeholder="Enter domain name" onChange={handleInputChange} />
<button type="submit">Search</button>
</form>
</header>
</div>
);
}
export default App;
该代码将创建一个包含一个表单的组件。表单将允许用户输入要查询的域名。我们还将使用useState钩子来跟踪用户输入,并在用户提交表单时打印输入。
接下来,我们将向WHOIS API发送请求,以获取域名的WHOIS信息。首先,我们需要安装axios,这是一个JavaScript库,可用于向API发送HTTP请求。在终端中运行以下命令来安装它:
npm install axios --save
一旦安装完成,我们可以更新App.js文件中的代码,并在用户提交表单时向WHOIS API发送请求。将App.js文件替换为以下代码:
import React, { useState } from 'react';
import './App.css';
import axios from 'axios';
function App() {
const [domain, setDomain] = useState('');
const [results, setResults] = useState(null);
const [isLoading, setIsLoading] = useState(false);
const handleInputChange = (event) => {
setDomain(event.target.value)
}
const handleSubmit = (event) => {
event.preventDefault();
fetchData();
}
const fetchData = async () => {
setIsLoading(true);
try {
const response = await axios.get(`https://www.whoisxmlapi.com/whoisserver/WhoisService?apiKey=[YourApiKeyHere]&outputFormat=JSON&domainName=${domain}`);
setResults(response.data);
setIsLoading(false);
} catch (error) {
console.log(error);
setIsLoading(false);
}
}
return (
<div className="App">
<header className="App-header">
<h1>Domain Lookup App</h1>
<form onSubmit={handleSubmit}>
<input type="text" placeholder="Enter domain name" onChange={handleInputChange} />
<button type="submit">Search</button>
</form>
{isLoading && <p>Loading...</p>}
{results && (
<div>
<h2>{results.WhoisRecord.domainName}</h2>
<p>{results.WhoisRecord.registrant.organization}</p>
</div>
)}
</header>
</div>
);
}
export default App;
该代码将向WHOIS API发送请求,并在收到响应后将响应打印到控制台。我们还在用户提交表单时更新了UI,并添加了一个加载指示器,以指示正在向API发送请求。
最后,我们将更新UI,以显示域名的WHOIS信息。打开App.js文件,并将其替换为以下代码:
import React, { useState } from 'react';
import './App.css';
import axios from 'axios';
function App() {
const [domain, setDomain] = useState('');
const [results, setResults] = useState(null);
const [isLoading, setIsLoading] = useState(false);
const handleInputChange = (event) => {
setDomain(event.target.value)
}
const handleSubmit = (event) => {
event.preventDefault();
fetchData();
}
const fetchData = async () => {
setIsLoading(true);
try {
const response = await axios.get(`https://www.whoisxmlapi.com/whoisserver/WhoisService?apiKey=[YourApiKeyHere]&outputFormat=JSON&domainName=${domain}`);
setResults(response.data);
setIsLoading(false);
} catch (error) {
console.log(error);
setIsLoading(false);
}
}
return (
<div className="App">
<header className="App-header">
<h1>Domain Lookup App</h1>
<form onSubmit={handleSubmit}>
<input type="text" placeholder="Enter domain name" onChange={handleInputChange} />
<button type="submit">Search</button>
</form>
{isLoading && <p>Loading...</p>}
{results && (
<div>
<h2>{results.WhoisRecord.domainName}</h2>
<p>{results.WhoisRecord.registrant.organization}</p>
<p>{results.WhoisRecord.registrant.email}</p>
<p>{results.WhoisRecord.creationDate}</p>
<p>{results.WhoisRecord.expirationDate}</p>
</div>
)}
</header>
</div>
);
}
export default App;
该代码将更新UI,以显示域名的WHOIS信息。我们使用JavaScript模板字面量来动态创建HTML元素,并使用results对象中的数据填充这些元素。
以上就是使用ReactJS创建域名查找器应用程序的全部步骤。我们希望这篇教程对您有所帮助!