- 博客(80)
- 资源 (27)
- 收藏
- 关注
原创 React脚手架@14
本文介绍了React脚手架工具create-react-app的使用方法和项目结构。主要内容包括:1)脚手架功能:快速创建模板项目,包含配置、依赖和示例;2)安装使用步骤:全局安装、创建项目、启动开发;3)项目技术架构:React+Webpack+ES6+ESLint;4)项目结构说明:public文件夹存放静态资源,src文件夹包含核心源码文件。该脚手架具有模块化、组件化和工程化特点,能帮助开发者快速搭建React项目。
2026-01-15 09:14:40
195
原创 虚拟DOM与DOM Diffing算法@13
本文详细解析了React中key的作用及使用原则。key作为虚拟DOM的唯一标识,在数据更新时通过新旧虚拟DOM的diff比较决定DOM更新策略:相同key可复用DOM,不同key则创建新DOM。指出使用数组索引(index)作为key可能导致的问题:破坏顺序操作时效率低下,含输入类DOM时界面异常。建议优先使用数据唯一标识(如id)作为key,仅在纯展示场景下可考虑使用index。通过代码示例对比了index和id作为key的不同效果,帮助开发者理解key的正确使用方式。
2026-01-11 10:30:00
247
原创 React生命周期@12
本文介绍了React组件的生命周期及其三个阶段:初始化、更新和卸载。在初始化阶段,组件依次执行constructor()、getDerivedStateFromProps()、render()和componentDidMount();更新阶段涉及getDerivedStateFromProps()、shouldComponentUpdate()、render()、getSnapshotBeforeUpdate()和componentDidUpdate();卸载阶段执行componentWillUnmount
2026-01-10 11:48:21
920
原创 函数柯里化@11
摘要:概念柯里化(currying)是将多参数函数转换为一系列单参数函数的技术。例如,将函数add(a,b)转换为add(x)=>(y)=>x+y的形式,实现参数分步传递。文章通过React组件案例展示了非柯里化和柯里化两种实现方式:前者直接处理事件参数,后者通过返回函数实现参数延迟绑定。柯里化属于高阶函数应用,能使代码更模块化,适合需要部分参数预置的场景。
2026-01-07 17:41:51
205
原创 收集表单数据@10
React表单组件分为受控组件和非受控组件。受控组件通过state管理表单数据,实现实时验证和动态交互,适合需要复杂控制的场景。非受控组件通过ref直接访问DOM,代码简洁,适合简单表单或性能敏感场景。主要区别在于数据控制方式:受控组件由React state管理,而非受控组件由DOM自身管理。开发中应根据具体需求选择合适的组件类型。
2026-01-06 20:06:42
278
原创 react中的事件处理@9
摘要:React事件处理通过onXxx属性指定事件处理函数,使用合成事件而非原生DOM事件以提高兼容性。事件采用委托机制,绑定到组件最外层元素来提升性能。可以通过event.target获取触发事件的DOM元素,避免过度使用ref。示例展示了两种获取输入值的方式:一种通过ref.current.value,另一种直接通过event.target.value。
2026-01-05 09:16:32
227
原创 组件三大核心属性-refs@8
本文介绍了React中三种定义ref的方式:1)字符串形式ref(将被弃用);2)回调函数形式ref,通过(c)=>{this.input=c}获取DOM节点;3)createRef API创建ref容器,使用this.myRef.current访问节点。重点分析了回调ref的执行次数问题,指出内联函数方式在更新时会产生null值,建议将回调函数定义在组件内。每种方式都配有完整代码示例,展示了如何通过ref获取输入框值并触发提示功能。
2025-12-30 10:16:40
302
原创 组件三大核心属性-props@7
本文介绍了React中props的基本使用方法和限制规则。props用于从组件外向组件内传递数据,组件内部不可修改props数据。主要内容包括:1) 通过this.props访问属性值;2) 使用prop-types库进行类型检查,如要求姓名必传且为字符串,性别默认为"男",年龄默认为18;3) 通过扩展运算符{...obj}传递对象属性;4) 类组件和函数组件中使用props的差异;5) 通过static propTypes和defaultProps设置属性规则和默认值。文章通过具体代
2025-12-26 09:32:20
167
原创 组件三大核心属性-state@6
React组件状态管理摘要:state是组件核心属性,通过setState()更新会触发重新渲染。注意:1)render中this指向组件实例,自定义方法中this为undefined,可通过bind或箭头函数解决;2)状态不可直接修改。提供两种写法:1)传统bind绑定方式,需在constructor初始化state和方法绑定;2)简写箭头函数方式,直接定义state和箭头函数方法。后者更简洁,利用箭头函数自动绑定this的特性,是推荐写法。两种方式都需通过setState()更新状态。
2025-12-25 09:56:18
299
原创 React的组件@5
本文介绍了类和组件的基本概念。在类中,构造器是可选的,用于初始化实例属性;继承时需要调用super();方法都存储在原型对象上。函数式组件被调用后返回虚拟DOM转为真实DOM,而类式组件会创建实例并调用render方法生成DOM。代码示例展示了Person/Student类和React函数式/类式组件的实现方式,说明了它们的特性及使用场景。
2025-12-23 09:49:34
283
原创 React开发者工具的下载及安装@4
本文介绍了React开发者工具的下载和安装方法。首先需从极简插件网站搜索并下载React Developer Tools压缩包,解压后获得插件文件和说明书。安装步骤包括:在Chrome浏览器中打开扩展程序管理页面,启用开发者模式,将.crx文件拖入页面完成安装。该工具可帮助开发者调试React应用,安装过程简单快捷。
2025-12-22 18:57:28
761
原创 模块与组件、模块化与组件化的理解@3
本文介绍了模块与组件的概念及应用。模块是指提供特定功能的JS程序文件,用于代码复用和效率提升;组件则是实现局部功能的代码资源集合(HTML/CSS/JS等),能简化复杂界面开发。模块化指应用全部采用模块编写,组件化指应用由多个组件构成。两者都能提高代码复用率和运行效率,模块侧重JS功能封装,组件则整合前端各类资源实现复杂界面功能。
2025-12-20 17:45:03
149
原创 React的基本使用@2
本文介绍了React开发中创建虚拟DOM的两种方式:纯JS方式和JSX方式。重点说明了JSX语法规则和特性,包括标签属性、表达式使用{}包裹、className替代class等注意事项。同时解释了虚拟DOM的本质是轻量级的JavaScript对象,通过ReactDOM.render()方法转换为真实DOM并渲染到页面。还介绍了React开发所需的三个核心库:react.js、react-dom.js和babel.js的作用,其中babel.js用于将JSX语法转换为浏览器可执行的JavaScript代码。
2025-12-19 09:30:05
293
原创 初始React@1
本文记录了React学习笔记。React是由Facebook开源、用于构建用户界面的JavaScript库,其特点包括声明式编码、组件化开发、支持原生应用开发,以及高效的虚拟DOM和Diffing算法。文章提供了React中英文官网链接,并通过"Hello React"示例演示了基本使用方法:引入React核心库、创建虚拟DOM并使用ReactDOM.render()渲染到页面。示例展示了JSX语法和Babel转换器的使用,为React初学者提供了入门指导。
2025-12-18 10:00:53
315
原创 NVM及Live Server的安装说明(保姆级教程)
摘要:本文详细讲解了nvm工具的安装与配置,包括下载安装、镜像站设置、Node.js版本管理,以及常用命令汇总。同时介绍了LiveServer的安装步骤,包括PowerShell权限设置、npm镜像源更换和启动配置。
2025-12-17 09:44:40
901
原创 Hystrix扫盲
以上内容均从官方网站进行获取,为便于理解,在本地验证运行官网的一些样例。因英文水平有待提供,上文中翻译的地方有些蹩脚。个人理解Hystrix主要通过观察者模式,结合装饰器等模式进行了相关的功能,其具体功能待后继学习后进行补充。
2025-12-03 17:20:56
986
原创 maven打jar包,将依赖的jar提取出来
使用java写了一个自动化测试的功能,pom只引用了selenium和poi的包,但是把工程源码和工程放到了另外一台电脑,对应的poi,selenium的包也复制过去了,还是运行不起来,提示缺少各种jar。一个一个“排雷”找到的缺失的jar比较耗时,通过修改pom.xml中的配置,将依赖的jar,输出到一个固定目录,然后另外一台电脑修改配置,程序完美的运行起来了。-- 使用spring-boot-maven-plugin创建可执行jar 符合要求 -->-- 配置主jar包 -->
2025-10-24 16:22:21
1004
1
原创 照片转PDF
今天要把一个资料转化成pdf.网上找了一堆软件,都是有水印的,去水印又要会员,索性发挥程序员的技能,跑一个main方法完成。代码贴出来,提供给有需要的网友。maven
2021-05-28 18:30:16
259
原创 castor 创建javabean
在下载资源里,提供了cator其他版本生成javabean的方法。通过测试,发现cator0.9生成javabean要比那个简洁。将如下代码复制到txt中,修改为bat文件,可直接运行。java -classpath D:\xsd\lib\castor-0.9.4.jar;D:\xsd\lib\xerces.jar; org.exolab.castor.builder.SourceGene...
2018-11-05 18:59:35
374
原创 redis安装与测试
看邮件有人写关于redis的内容,发现自己对redis尽然一无所知,除了知道它是nosql的一种。 根据伟大网友的介绍,参考相关内容。从51cto下载了redis-2.4.5。小试了一下。将操作方式和碰到的问题记录如下。供自己和碰到类似问题的网友参考。 1、下载redis-2.4.5-win32-win64。 2、放置在D:\redis2.4.5
2015-12-28 21:56:41
675
原创 oracle insert 转义&
oracle 在insert时,碰到&号处理方式: 将& 替换为 '||chr(38)|| 'eg:insert into A (url) values ('1=1&2=2');转化为:insert into A (url) values ('1=1 '||chr(38)|| '2=2');
2015-12-22 09:33:44
1189
原创 eclipse +tomcat 部署class not found处理记录
近期搭建一个新的环境,从别人电脑拷贝过来web工程和tomcat版本。服务启动,一直是class not found。环境信息如下:web项目的目录结构:webproject--src--html--WEB-INF--lib--classes--lib--confeclipse中项目build path中引用的jar为上述与src平级下lib中的jar。to
2015-11-19 23:15:01
1474
原创 Maven helloworld
以HelloWorld为例:代码路劲: D:\NewTechnique\hello-world --src --main--java--com\juvenxu\mvnbook\helloworld--HelloWorld.javapackage com.juvenxu.mvnbook.helloword;public class HelloWo
2015-09-16 09:50:14
520
原创 Maven目录结构
D:\apache-maven-3.0.5 目录结构如下 --bin --boot --conf --lib --LICENSE.txt --NOTICE.txt --README.txt介绍如下: bin: 该目录包含了mvn运行的脚本,这些脚本用来配置Java命令,准备好classpath和相关的Java系统属
2015-09-15 21:49:15
432
原创 Maven安装
近期研究一个项目,是由maven构建,突然发现自己对maven不甚了解。找了一本《Maven权威指南》恶补一下,把内容记录在这里作为笔记吧。 Maven在windows下的安装: 1、下载maven3.0.5 2、解压在D盘 3、配置环境变量 在环境变量中添加M2_HOME,值为:D:\apache-maven-3.0.5 将D:\apache-maven
2015-09-15 21:39:05
447
原创 Errors occurred during the build. Errors running builder 'JavaScript Validator' on project
解决方式: 把JavaScript Validator去掉。去掉的方法是:选择项目—》右键Properties—》Builders—》右侧有四项—-取消“JavaScript Validator”的勾选。搞定!
2015-08-08 12:07:17
478
原创 Setting property 'source' to 'org.eclipse.jst.jee.server:jeecg' did not find a matching property
最近捯饬jeecg。部署工程后,启动tomcat,红色警告:Setting property 'source' to 'org.eclipse.jst.jee.server:jeecg' did not find a matching property环境: eclipse-jee-helios-SR2-win32 tomcat6-0-43 jeecg3.5 解
2015-08-08 12:03:58
752
原创 struts2 select 默认选中
需求: 在查询页查询出数据后,点击修改,将对应的值在修改界面展示,对应某些属性为select ,需要在修改界面默认对某个值进行选中。方案: 1、跳转新增的action处理:定义一个list,在新增界面使用private List isMainList= new ArrayList();public List getIsMainList() {return isM
2015-07-04 22:26:46
693
原创 struts2 java.lang.UnsupportedClassVersionError: Bad version number in .class file 解决
eclipse3.6 jdk1.5 tomcat6建立web工程后,使用struts2.3.20搭建环境,使用struts_blank后,添加里面相关jar后,启动tomcat,信息如下:信息: Initializing Coyote HTTP/1.1 on http-80812015-6-15 13:37:01 org.apache.catalina.startup.Catalin
2015-06-15 21:43:20
3099
原创 Ibatis中报There is no READABLE property named错误
User.javaprivate int op_Id;getter...setter...sqlmap.xml中select op_id from user where op_od =#op_id#执行异常: There is no READABLE property named op_id上网查了相关解决方式
2015-05-05 18:03:00
7061
原创 ibatis 日期格式比较
需求: 数据库表A中有date型字段 create_date,需按照日期区间查询(日期区间假设为begin_date,end_date)方案: 在ibatis查询配置中添加:CREATE_TIME >= to_date('$begin_date$','yyyy-mm-dd')]]>CREATE_TIME ]]>在这
2015-04-30 10:52:23
4497
原创 com.opensymphony.xwork2.util.logging.commons.CommonsLogger error 处理
新建立一个工程,想尝试下struts2 的文件上传下载。服务启动时,抛出一下异常:2015-4-15 16:20:13 org.apache.catalina.core.AprLifecycleListener init信息: The APR based Apache Tomcat Native library which allows optimal performance in pro
2015-04-15 16:35:04
22770
原创 tomcat7 manager/html登录出现403
tomcat7 manager/html登录过程中出现403异常,查阅网友解答,发现是tomcat-user.xml和之前版本有异同导致,修改配置,问题解决,将正确的配置记录下来,已被后用
2015-04-15 12:00:41
2575
原创 Windows 不能在 本地计算机 启动 OracleDBConsoleorcl 解决
服务中启动oracleDBConsoleorcl是提示如下信息,无法启动---------------------------服务---------------------------Windows 不能在 本地计算机 启动 OracleDBConsoleorcl。有关更多信息,查阅系统事件日志。如果这是非 Microsoft 服务,请与服务厂商联系,并参考特定服务错误代码 1。
2015-04-09 15:33:17
6555
转载 java.lang.NoSuchMethodError: org/w3c/dom/Element.setTextContent(Ljava/lang/String;)V 异常处理
这几天搞个应用,观察日志,有如下异常:2014-04-25 11:32:21 StandardWrapperValve[PlatFormFilter]: Servlet.service() for servlet PlatFormFilter threw exceptionjava.lang.NoSuchMethodError: org/w3c/dom/Element.setTextCon
2014-04-25 12:06:02
3727
1
原创 velocity 简单示例
java代码:package org.weib.velocity;import java.io.File;import java.io.FileOutputStream;import java.io.PrintWriter;import java.io.Writer;import org.apache.velocity.Template;import o
2014-03-25 16:46:40
534
作业完成情况统计器-点泡泡
2025-12-11
wtp环境搭建文档,给那些需要帮助的朋友
2011-04-25
Json转对象忽略大小写
2019-01-14
不安装oracle客户端,plsql连接oracle服务器端
2018-03-08
visualVM&插件
2013-03-23
gui design studio 汉化版本
2018-12-25
Lua eclipse
2016-02-18
castor生成javabean
2017-09-05
implementors的jar包
2010-02-04
写给大忙人看的javase8
2017-03-23
eclipse插件
2018-12-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅