你知道怎么在|你知道怎么在 HTML 页面中使用 React吗
目录
- index.html代码:
- index.js代码:
- ReactComponentContainer.js代码:
- HelloReact.jsx代码:
- 遇到的问题:
- Gitee代码地址:
- 总结
index.html代码: 引入
react
、react-dom
、babel
、moment
、antd
等React in HTML - 锐客网
index.js代码:
import { ReactComponentContainer } from './ReactComponentContainer.js'let isShow = true; let helloReactContainer; $('#btn').on('click', function () {if (isShow) {helloReactContainer = new ReactComponentContainer('helloReact', HelloReact, { name: 'React' }); helloReactContainer.show(); isShow = false; $(this).val('隐藏React组件'); } else {helloReactContainer.hide(); isShow = true; $(this).val('显示React组件'); }});
ReactComponentContainer.js代码: 该模块用于在html中显示隐藏react组件
class ReactComponentContainer {componentcomponentPropscomponentContainerIdconstructor(componentContainerId, component, componentProps) {if ($('#' + componentContainerId).length == 0) {$('body').append(''); }this.componentContainerId = componentContainerId; this.component = component; this.componentProps = componentProps; }render(isShow) {ReactDOM.render(React.createElement(antd.ConfigProvider,{locale: antd.locales.zh_CN},React.createElement(this.component, Object.assign({ isShow: isShow }, this.componentProps))),document.getElementById(this.componentContainerId)); }show() {this.render(true); }hide() {this.render(false); }}export { ReactComponentContainer }
HelloReact.jsx代码:
class HelloReact extends React.Component {dateFormat = 'YYYY-MM-DD'timeFormat = 'HH:mm:ss'constructor(props) {super(props); let now = new Date().valueOf(); this.state = {dateStr: moment(now).format(this.dateFormat),timeStr: moment(now).format(this.timeFormat)}this.onChangeDate = this.onChangeDate.bind(this); this.onChangeTime = this.onChangeTime.bind(this); this.updateDatePickerAndTimePicker = this.updateDatePickerAndTimePicker.bind(this); }onChangeDate(date, dateString) {this.setState({ dateStr: dateString }); }onChangeTime(time, timeString) {this.setState({ timeStr: timeString }); }updateDatePickerAndTimePicker() {let now = new Date().valueOf(); this.setState({dateStr: moment(now).format(this.dateFormat),timeStr: moment(now).format(this.timeFormat)}); }render() {return Hello {this.props.name}, Now is {this.state.dateStr} {this.state.timeStr}
更新日期时间控件值; }}
效果图:
文章图片
【你知道怎么在|你知道怎么在 HTML 页面中使用 React吗】浏览器按F12弹出DevTools,在Sources选项卡中可以看到组件代码,方便打断点调试
文章图片
遇到的问题: 无法使用es6的import语法导入react组件,es6的import和require.js都不认识jsx
react组件不是按需加载,只适合小型应用
Gitee代码地址: https://gitee.com/zjvngvn/react-in-html
总结 本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!
推荐阅读
- 面试官(HTTPS 是如何保证传输安全的(你必须学会。。。))
- Python的ini配置文件你了解吗
- Java基础的查漏补缺|Java基础查漏补缺之你可能不知道的final关键字的知识点
- ③(界面篇)、《史上最全iOS八股文面试题》2022年|③(界面篇)、《史上最全iOS八股文面试题》2022年,金三银四我为你准备了,iOS《1000条》笔试题以及面试题(包
- 前沿技术|岁末年初,为你打包了一份技术合订本
- HaaS解决方案|绿色节能,怎么用ESP32 + HaaS Python怎么做一个起夜小灯(接上个“智慧路灯”案例中的留下的地下室人体感应亮灭灯)
- 教你如何使用Python破解WIFI密码
- java|你还在用JWT做身份认证嘛()
- 这些常问的Android面试题,如果你是面试者,你会如何回答,能回答多少呢()
- Excel|Excel VBA中写SQL,这些问题的方法你一定要牢记