1、react setState 更新问题
https://www.jianshu.com/p/82ffb3d156a1
-
setState更新状态时同步的还是异步的?
-
了解setState的执行位置
-
在react控制的回调函数中:生命周期函数 / react的事件监听回调
在非react控制的异步回调函数中: 定时器回调 / 原生事件监听 / Promise回调 / .....
-
异步OR同步
react相关回调中: 异步执行
其它异步回调中: 同步执行
2、transform 会导致内部的元素使用position: fixed功能失效
3、event.preventDefault(); 不生效 解决方案 改为事件监听
document.getElementById('wheelcContainer').addEventListener('wheel', (event) => {
event.preventDefault();
4、在父子间import 子组件 子组件class之外的操作会被加载(执行)
5、JSON.parse 反序列化字符串 JSON.stringfly 序列化字符串 evel 也可以反序列化字符串
eval("(" + JSON.stringfly({a: 123}) + ")") // {a :123} 同样可以
new Function同样可以实现evel的功能
function parse(jsonStr) {
return new Function("return" + jsonStr)();
}
var jsonStr = '{"age":20,"name":"jack"}';
parse(jsonStr);
6、如果有两个组件 A, B 同时A继承了B class App extends B
1、在外部适应组件A 传入props 此时A组件和B组件都能访问props
2、A组件和B组件有相同的方法fn-c,此时不论在A组件调用该方法,还是在B组件调用该方法,调用的都是A组件里面的fn-c。
3、在A组件 const content = super.render 可以调用B组件的render 用来在A组件做渲染
4、只要A组件和B组件相同的方法和生命周期,都会优先调用A组件的 ,A组件没有才会调用子组件的
7、移动端开发
问题:页面显示弹出层 禁止弹出层下面元素滚动
解决: 1.给body加一个 overflow:hidden
--ios弹出软键盘后失效,原因是软键盘弹出会造成页面整体向上滚动
2. body为fixed
-- 页面会回到顶部 解决: 获取 document.scrollingElement.scrollTop值,然后使用js添加到top样式上就行了 或者使用 document.body.scrollTop || document.documentElement.scrollTop也可以
8、freemarker知识点
http://freemarker.foofun.cn/dgui_quickstart.html
模板语法
<h1>Welcome ${user}</h1>
默认值
<h1>Welcome ${user!'aaa'}</h1> //user不存在展示aaa 不设置默认值会报错
变量声明
<#assign name="张三"/> // name
<#assign secondResponsible=pdfMetaContent.secondResponsible?eval /> / / namesecondResponsible、
内建函数 https://blog.csdn.net/weixin_43367967/article/details/88000987