06 2020 档案
摘要:1.Redux介绍(数据层框架) React视图层框架 Redux是一个用来管理数据状态和UI状态的JavaScript应用工具。随着JavaScript单页应用(SPA)开发日趋复杂,JavaScript需要管理比任何时候都要多的state(状态),Redux就是降低管理难度的。(Redux支持R
阅读全文
摘要:1.安装axios Axios的安装可以使用npm来进行安装,你可以直接在项目根目录下,输入下面的代码。 输入 后就可以正在的开始安装了。 引入后,可以在componentDidMount生命周期函数里请求ajax,我也建议在componentDidMount函数里执行,因为在render里执行,会
阅读全文
摘要:Xiao.jx存在性能问题 是的,Xiao.js组件已经写的很熟悉了,但是它有一个性能问题,我一直没告诉你,那就是子组件XiaoItem频繁无用渲染render。如何能看出这个问题的那? 首先你要确认你安装了React Developer Tools 如果你没有安装,可以到前边的课程学习一下安装。有
阅读全文
摘要:1.React生命周期 这张图可以看到React生命周期的四大阶段 Initalization:初始化阶段 Mounting:挂载阶段 Updation:更新阶段 Unmounting:销毁阶段 2.什么是生命周期函数? 生命周期函数指在某一时刻组件会自动调用执行的函数 render()函数,就是一
阅读全文
摘要:1.propTypes 父子组件传值都是需要进行校验的,用propTypes 父组件向子组件传值,则在子组件中引入 在类的外部进行校验 校验属性和类型 子组件XiaoItem.js 2.ref属性的使用 在计算ul下面有几个项的时候遇到的坑 可以将ul绑定属性 可以看到左边的是3项,但是右边打印出来
阅读全文
摘要:1.单向数据流 父组件传递给子组件过去的,不能修改的,只能使用 Xiao.js XiaoItem.js 可以看到页面报错:
阅读全文
摘要:1.Component组件拆分 将原来的列表拆分成一个子组件,形成父子组件(父组件:Xiao.js;子组件:XiaoItem.js) 拆分: Xiao.js中: XiaoItem.js中: 2.父子组件的传值 父组件向子组件传值,通过属性传值 如果我要删除一个元素,即子组件要向父组件传值 React
阅读全文
摘要:1.在JSX中写注释 ctrl+/ 2.class陷阱 如果要使用样式,则应该是className 错误写法 正确写法: 3.对页面中html标签解析 4.加label与输入框input对应 要用htmlFor,为了与jsx中的for循环避开
阅读全文
摘要:1.新建一个组件Xiao.js import React, {Component} from "react"; class Xiao extends Component { render() { return ( <div> <div><input /> <button>增加</button></d
阅读全文
摘要:1.组件化开发-最基本的helloworld 项目结构 index.js import React from "react"; import ReactDOM from "react-dom"; import App from './App'; ReactDOM.render(<App />, do
阅读全文
摘要:1.简介 2.node 安装 http://nodejs.cn/download/ 下载安装,一路next就可以了 安装完成后检测 这样就代表node安装完成 3.安装react官方脚手架工具 npm instsall -g create-react-app 用react脚手架创建一个项目目录 创建
阅读全文
摘要:解题思路排序之后就是字典序了,遇到单个字符,加到集合里,多个字符则看最后一个字符之前的字符是否已经在集合里,在的话,加进集合里,不在的话,可以直接不管了,因为已经排序,说明肯定无法一步一步的达到这个字符串,再用两个变量,保存首次遇到的最长长度,最后返回(有点重复代码) class Solution:
阅读全文
摘要:es6中export和export default的区别 export与export default均可用于导出常量、函数、文件、模块 你可以在其它文件或模块中通过import+(常量 | 函数 | 文件 | 模块)名的方式,将其导入,以便能够对其进行使用 在一个文件或模块中,export、impo
阅读全文
该文被密码保护。
摘要:解法:由于同一个list中可能存在重复元素,所以考虑采用计数的方式解决问题,具体思路如下: 首先构建一个dict来记录list中的元素个数,称为count_dict;count_dict中的元素是一个长度为2的list,分别存储nums1和nums2中元素i的个数 class Solution: d
阅读全文
摘要:1.地图分析 解题思路此题是一个标准的广度优先题目。基本思路就是不断模拟从陆地向海洋扩张的最长距离: 查找初始所有陆地坐标,并进行判断是否为空或长度与grid大小一致,满足条件即输出-1 定义一个判断给定坐标值是否有效的辅助函数:isValid(x, y) 定义一个4向delta列表,用于从当前坐标
阅读全文
摘要:从后台获取的下拉框数据存在重复,可以采用下面的方法去重 // 下拉框去除重复 $("select").each(function(i,n){ var options = ""; $(n).find("option").each(function(j,m){ if(options.indexOf($(
阅读全文
摘要:BFS 的核心思想应该不难理解的,就是把一些问题抽象成图,从一个点开始,向四周开始扩散。一般来说,我们写 BFS 算法都是用「队列」这种数据结构,每次将一个节点周围的所有节点加入队列。 BFS 相对 DFS 的最主要的区别是:BFS 找到的路径一定是最短的,但代价就是空间复杂度比 DFS 大很多 问
阅读全文
摘要:1.查询(search) # 获取案例库信息 @app.route('/get_dcn_cases', methods=['GET', 'POST']) def get_dcn_cases(): # 告警事件数据 dcn_cases_query = { "_source": { "includes"
阅读全文
摘要:其实第一次看到这道题,我首先想到的是滑动窗口算法,因为我们前文说过嘛,滑动窗口算法就是专门处理子串/子数组问题的,这里不就是子数组问题么?但是,稍加分析就发现,这道题还不能用滑动窗口算法,因为数组中的数字可以是负数。滑动窗口算法无非就是双指针形成的窗口扫描整个数组/子串,但关键是,你得清楚地知道什么
阅读全文
摘要:动态规划思想 注意:子串和子序列的区别 子串一定时连续的,子序列不一定是连续的 首先清楚dp数组的含义 定义:dp[i]表示以nums[i]这个数结尾的最长递增子序列的长度 因为nums[3]=4,最长递增子序列为1,3,4,所以长度为3即dp[3]=3 既然是递增子序列,只要找到前面那些结尾比4小
阅读全文
摘要:排序数组中的搜索问题,首先想到 二分法 class Solution: def missingNumber(self, nums: List[int]) -> int: i, j = 0, len(nums)-1 while i <= j: m = (i+j)//2 if nums[m] == m:
阅读全文
摘要:遇到出入顺序的问题,可以用栈 方法 1:字母栈想法和算法 将 s 中的所有字母单独存入栈中,所以出栈等价于对字母反序操作。(或者,可以用数组存储字母并反序数组。) 然后,遍历 s 的所有字符,如果是字母我们就选择栈顶元素输出。 class Solution: def reverseOnlyLette
阅读全文
摘要:双指针 解题思路:算法流程: 设定 i,j 两指针分别指向 num1,num2 尾部,模拟人工加法; 计算进位: 计算 carry = tmp // 10,代表当前位相加是否产生进位;添加当前位: 计算 tmp = n1 + n2 + carry,并将当前位 tmp % 10 添加至 res 头部;
阅读全文
摘要:解题思路因为在 Python 中字符串是不可变,因此遍历字符串交换每个单词内字符位置的方法不太可行,但是利用 Python 切片的便利,可以写出更优雅的实现方式。 1、常规思路 将字符串分割成单词列表 然后把每个单词反转切片 使用for循环遍历 class Solution: def reverse
阅读全文