<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>React 16.14.0 AJAX 示例</title>
</head>
<body>
<div id="container"></div>
<script src="https://cdn.jsdelivr.net/npm/react@16.14.0/umd/react.production.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/react-dom@16.14.0/umd/react-dom.production.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@babel/standalone@7.23.2/babel.min.js"></script>
<script src="../js/jquery3.1.0.min.js"></script>
<script type="text/babel">
class List extends React.Component {
constructor(props) {
super(props);
this.state = {
arr: [],
};
}
componentDidMount() {
console.log("组件已挂载");
$.ajax({
url: this.props.url,
dataType: "jsonp",
type: "GET",
jsonp: "cb",
success: (data) => {
this.setState({
arr: data.s || [],
});
},
error: (err) => {
console.error("请求失败:", err);
},
});
}
render() {
const { arr } = this.state;
return (
<ul>
{arr.map(
(
item,
index // 增加 key 属性,优化列表渲染
) => (
<li key={index}>{item}</li>
)
)}
</ul>
);
}
}
ReactDOM.render(
<List url="https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=大宝剑" />,
document.getElementById("container")
);
</script>
</body>
</html>