- 【微前端】ReactJS实现微前端的代码架构
小涵
前端框架前端react.js架构前端框架javascriptmicroservices微前端
【微前端】ReactJS实现微前端的代码架构目录【微前端】ReactJS实现微前端的代码架构通用步骤基于微前端的应用典型树结构:示例代码Webpack设置:Babel设置:配置Webpack别名:依赖管理:推荐超级课程:Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战微前端是一种构建Web应用程序的架构方法,涉及将单块前端拆分为更小、更易管理的组件。这些更小的
- React JSX: A Deep Dive into the JavaScript XML
lly202406
开发语言
ReactJSX:ADeepDiveintotheJavaScriptXMLIntroductionReactJSX,oftenreferredtoassimplyJSX,isasyntaxextensionforJavaScriptthatisusedextensivelyintheReactlibraryforbuildinguserinterfaces.Itallowsdeveloperst
- day53(reactJS)
李中豪前端大佬
react.js前端前端框架scss
reactJS框架的介绍1.React框架的建造原因2.该框架解决了什么问题3.该框架有哪些特点4.该框架如何解决问题5.该框架和传统MVC的关系6.该框架的使用步骤7.React项目的主要部分8.类组件相关9.sass的使用1.React框架的建造原因起源于FaceBook公司的内部项目,在架构公司内部项目时,FaceBook对当时市面上所有的JavaScriptMVC框架都不满意,认为MVC模
- day56(reactJS)受控组件以及高阶组件
李中豪前端大佬
react.js前端javascript
一.受控组件如何理解受控组件?(什么是受控组件?+什么情况下是非受控组件?+如何将组件变成受控组件?)1.受控组件是指value值受到React组件状态控制的表单元素2.非受控组件:HTML中的表单元素是可输入的,也就是有自己的可变状态,但是默认表单元素的值不受所在组件state控制,也就是表单元素所在组件无法实时获取最新的表单元素值,表单元素值不受所在组件状态的控制,我们将这样的表单元素称作:非
- react起源
lemmo
简介React(有时叫React.js或ReactJS),是一个为数据提供渲染为HTML视图的开源JavaScript库。React视图通常采用包含以自定义HTML标记规定的其他组件的组件渲染。React为程序员提供了一种子组件不能直接影响外层组件("dataflowsdown")的模型,数据改变时对HTML文档的有效更新,和现代单页应用中组件之间干净的分离。它由Facebook、Instagra
- Web前端开发的框架可以应用到哪些地方
一只有头发的程序猿
工作学习web前端JavaScript编程程序员前端开发
随着时间的推移,网页设计越来越具有创新性。web前端开发将成为2020年技术领域最热门的学科之一。以前,前端空间的开发人员只要了解一些HTML,CSS,也许还有jQuery来创建交互式网站,就足够了。但是今天,他们面临着广泛且不断变化的开发技能生态系统;最近几年,我们使用JavaScript为主要的Web应用程序提供了强大的新库和框架,例如ReactJS,VueJS和angularJS。这3个可以
- React:高阶组件|ref转发
是席木木啊
Reactreact.js前端javascript
高阶组件参考文档:高阶组件–React(reactjs.org)高阶组件(Higher-OrderComponents,简称HOC)是React中用于复用组件逻辑的一种高级技巧。具体而言:高阶组件是参数为组件,返回值为新组件的函数。组件是将props转换为UI,而高阶组件是将组件转换为另一个组件。HOC在React的第三方库中很常见,例如Redux的connect和Relay的createFrag
- You Probably Dont Need Derived State
阿里王成文
今天在segmentfault上写了一篇有关React16.3的文章,大家感兴趣的话可以去看看,以后我几乎都会在segmentfault上面写文章了,大家感兴趣的话的话保持联系,经常交流,共同进步,主攻前端。本文是一片翻译,原本来自https://reactjs.org/blog/2018/06/07/you-probably-dont-need-derived-state.html。
- ReactJS+antd+select标签组件(可单选,多选,可将输入项作为选项)
流砂飞雪
reactantdreactjs
MySelectTag代码块如下:importReact,{useState}from'react';import{Select}from'antd';/***@paraminitialValue默认值*@paramonChange值改变时调用方法*@paramisSingle是否单选*@paramdata选项初始值*@returns{*}*@constructor*/constMySelectT
- Redux-003-使用 react-redux
空乱木
本文视频地址:https://www.qiuzhi99.com/movies/react-redux/150.html参考链接https://github.com/reactjs/react-reduxhttps://github.com/reactjs/react-redux/blob/master/docs/api.md目录结构image.pngactions定义action事件constan
- react做一个轮播图(比对reactjs-swiper、swiper方式)
sasaraku.
前端
1、使用插件:reactjs-swiperhttps://www.cnblogs.com/cbp-jltx/p/9681838.htmlreact插入图片:https://www.cnblogs.com/cheeseCatMiao/p/9797136.html在public下建文件夹imgs这个方法的示意图(虽然它动的又慢又卡,但真的只是视频转gif不灵活的锅,原本还是很流畅的。这个方法不能点底下
- react框架知识点
zmw1502
react.jsjavascript前端
react框架知识点1、React入门:React简介。官网:英文官网:https://reactjs.org/。中文官网:https://react.docschina.org。介绍描述:用于动态构建用户界面的JavaScript库(只关注于视图)。由Facebook开源。React的特点:声明式编码,组件化编码。ReactNative编写原生应用。高效(优秀的Diffing算法)。React高
- 使用GPT实现一个简单的网站
李黎明
gpt教程
背景Inthisexcitingtutorialvideo,you’lldiscoverhowtouse文心一言,apowerfullanguagemodeldevelopedby百度,togenerateReactJScodeforasimpleblogwebsite.With文心一言’shelp,youcanquicklycreateablogwebsitethat’seasytocustom
- React详解(基础知识)——react学习part01
哈喽……
react.js学习笔记
React详解(基础知识)——react学习part01react简介1.官网2.介绍描述3.React的特点4.React高效的原因React的使用1.基本使用1.1创建虚拟DOM的两种方式1.2渲染虚拟DOM1.3虚拟DOM与真实DOM2.ReactJSX2.1JSX3.模块与组件、模块化与组件化的理解3.1模块3.2组件3.3模块化3.4组件化React面向组件编程4.1函数式组件4.2类式
- React爬坑之路三:Dva
boJIke
java前端react.js
前两篇写了react各种基本操作和主要概念但其实没必要那么复杂直接用框架就好啦这年头前端框架真是一睁眼就多出好几个傻瓜级教程写的不合理的地方请批评指正React官网:https://reactjs.org/菜鸟教程:http://www.runoob.com/react/react-tutorial.htmlES6入门:http://es6.ruanyifeng.com/AntDesign:htt
- 哪些UI库支持暗模式?
独立开发者张张
大前端技术前端javascriptcssui
如今,黑暗模式是Web,桌面和移动应用程序中经常需要使用的功能。通过增加可定制的界面来提高开发者对UI库的使用体验是非常重要的,可以带动很多开发者使用特定的UI库。以下是一些支持暗模式的已知UI库。MaterialUIReactJS的MaterialDesignUI框架在GitHub上拥有超过57,000个星标,具有简单,面向开发人员和可扩展的主题功能。它基于著名的CSS-in-JS,使开发人员可
- node.js漏洞总结
carrot11223
网络安全node.js漏洞
js开发的web应用和php/Java最大的区别就是js可以通过查看源代码的方式查看到编写的代码,但是php/Java的不能看到,也就是说js开发的web网页相当于可以进行白盒测试。流行的js框架有:1.AngularJS2.ReactJS3.Vue4.jQuery5.BackboneJS6.NodeJS7.Ember8.Meteor9.Polymer10.Aurelia那怎么判断一个网站是不是由
- 如何在 React 应用程序中使用 FastCube.Net?
Augenstern__zyx
api.net后端web数据结构
FastCube使您能够分析数据并构建汇总表(数据切片),以及轻松、即时地创建各种报表和图表。它是高效分析数据阵列的便利工具。ReactJs库已广泛用于单页应用程序的Web开发。之前我们已经介绍了如何在ReactSPA应用程序中显示报告和在线报告设计器。现在可以在网页上显示来自FastCube.Core的多维数据集和数据切片。让我们考虑如何做到这一点。立即点击获取FastCube.Net2021最
- 踩坑笔记:在jsx中遍历forEach与map的区别
Mrhuang_1
在ReactJSX语法中,有时需要对数组或对象等进行遍历,数组的遍历有2种方式:forEach和map;但是需要知晓,JSX语法最终是要return返回html标签或对应内容的,而数组的遍历方法中forEach没有返回值,重在执行;map可以设置返回值。所以,在jsx中只能使用map方法进行遍历,需要知晓!{newDepart.map((element,index)=>{return(this.h
- Angular/Vue/React三大框架的异同点
MATIÈRE
React前端ReactVueAngular异同点
不同点:angularJsvueJsreactJsangularTs(2+)控制器√---过滤器√√-√指令√√-√模板引擎√√-√服务√--√jsx-√√-共同点:虚拟DOM(angularJs除外angular有),数据驱动
- React学习笔记(一)
滨滨_57b5
知识点及简介知识点知识点简介ReactJS:使用React的语法来编写一些网页的交互效果ReactNative:使用React的语法来编写原生APPReactVRReact.js-version16.3.2版本ReactFiberReact.js相比Vue.js灵活性更大,对于处理非常复杂业务时,技术方案选择性会更多;Vue.js则提供了更丰富的API,实现功能更简单,但由于API多,因此灵活性就
- react-hook useRef 使用(useImperativeHandle)父组件调用子组件函数
Z_Wonderful
#reacthooksreact.jsjavascript前端
useImperativeHandle介绍:useImperativeHandle(ref,createHandle,[deps])useImperativeHandle:https://zh-hans.reactjs.org/docs/hooks-reference.html#useimperativehandleforwardRef:https://zh-hans.reactjs.org/do
- Template -- React
平凡シンプル
reservoirreactjs模板
React版本Node21.6.0Npm10.2.4项目创建npminitvite项目名称reactjsnpminpmrundev依赖npmiaxios#网络npmiantd--save#UInpmi@ant-design/iconsnpmireact-router-dom#路由npmisass-D#sassnpmivite-plugin-html-D#html环境区分package.json"s
- 解决vscode开发react项目没有代码提示问题
塞风
没有代码提示,先安装代码提示插件Reactjscodesnippets。在vscode编辑器最上方tab栏,点击文件(F)-->首选项-->设置(快捷键Ctr+,),在搜索框中输入@tag:usesOnlineServices,找到TypeScript:DisableAutomaticTypeAcquistion,将其禁用react代码提示插件.png禁用自动类型获取.png没有自动补全jsx中h
- React知识
outstanding木槿
react+antd组件前端react.jsjavascript前端框架
原文GitHub-semlinker/reactjs-interview-questions:Listoftop304ReactJSInterviewQuestions&Answers本项目的面试题来源于sudheerj/reactjs-interview-questions这个项目。一时兴起就动起了翻译的念头,由于本人的React功力尚浅,翻译的内容难免有误或不妥的地方,望请各位见谅。如果你喜欢
- 用react搭建一个项目,配套安装antd及修改主题色
牛会骑自行车
react文档↓https://reactjs.bootcss.com/需要在电脑上先安装好Node>=8.10和npm>=5.6该项目名称为“niu-ts-react”↓(其中npx并不是拼写错误,是npm5.2+附带的package运行工具)npxcreate-react-appniu-ts-reactcdniu-ts-reactnpmstart网页自动跳出,长这样儿↓用编辑器打开这个项目,s
- react初始入坑快乐之旅(一)
gooln
一直想写些东西,记录自己的成长历程。却一直缺乏执行力。最近因为项目需要。用到了阿里react+dva+umi这一套东西。有时候一些问题,或许是大佬觉得太简单了,度娘也找不到答案。所以就萌生了写一点东西的想法。目的也是为了补缺自己的技术栈体系吧,看看自己能写出些什么。如果能帮助到你,就更好了。既然是初学,那就放个react官方入门教程链接吧。https://zh-hans.reactjs.org/t
- 【ReactJs 中使用 TSX】基本、组件、方法、实现类的类型标注
東方幻想郷
React前端框架JavaScriptTypeScript脚本语言react.jsjavascript前端
ReactJs中使用TSX组件事件Click实现Change实现另外事件基本类型标注自定义类型标注类型断言泛型标注实现interface传递属性给组件interface也可以用作泛型标注定义CSS对象组件事件Click实现Button组件importReactfrom'react';typeButtonClickHandler=(event:React.MouseEvent)=>void;inte
- 【好书推荐】ReactJS实践入门
不叫猫先生
好书推荐react.js前端前端框架
作者简介ChrisMinnick是一位多产的作家、博主、培训师、演说家和Web工程师。他创立的WatzThis?公司,一直致力于寻找更好的方法向初学者教授计算机和编程技能。Chris拥有超过25年的全栈开发经验,他也是一名教龄超过10年的培训师,曾在世界许多大公司以及公共图书馆、工作室和研讨会上教授Web开发、ReactJS和高级JavaScript课程。Minnick已撰写或与他人合著了十多本针
- React 入门 - 01
w-somebody
reactjs
本章内容目录1.简介1.1初始React1.2React相关技术点1.3React.jsvsVue.js2.React开发环境准备2.1关于脚手架工具2.2create-react-app构建一个React项目工程1.简介1.1初始ReactReactJS是Facebook在2013年5月开源的一款前端框架,其带来一种全新的“函数式”编程风格,迄今为止,有着健全的文档和完善的社区。React16和
- C/C++Win32编程基础详解视频下载
择善Zach
编程C++Win32
课题视频:C/C++Win32编程基础详解
视频知识:win32窗口的创建
windows事件机制
主讲:择善Uncle老师
学习交流群:386620625
验证码:625
--
- Guava Cache使用笔记
bylijinnan
javaguavacache
1.Guava Cache的get/getIfPresent方法当参数为null时会抛空指针异常
我刚开始使用时还以为Guava Cache跟HashMap一样,get(null)返回null。
实际上Guava整体设计思想就是拒绝null的,很多地方都会执行com.google.common.base.Preconditions.checkNotNull的检查。
2.Guava
- 解决ora-01652无法通过128(在temp表空间中)
0624chenhong
oracle
解决ora-01652无法通过128(在temp表空间中)扩展temp段的过程
一个sql语句后,大约花了10分钟,好不容易有一个结果,但是报了一个ora-01652错误,查阅了oracle的错误代码说明:意思是指temp表空间无法自动扩展temp段。这种问题一般有两种原因:一是临时表空间空间太小,二是不能自动扩展。
分析过程:
既然是temp表空间有问题,那当
- Struct在jsp标签
不懂事的小屁孩
struct
非UI标签介绍:
控制类标签:
1:程序流程控制标签 if elseif else
<s:if test="isUsed">
<span class="label label-success">True</span>
</
- 按对象属性排序
换个号韩国红果果
JavaScript对象排序
利用JavaScript进行对象排序,根据用户的年龄排序展示
<script>
var bob={
name;bob,
age:30
}
var peter={
name;peter,
age:30
}
var amy={
name;amy,
age:24
}
var mike={
name;mike,
age:29
}
var john={
- 大数据分析让个性化的客户体验不再遥远
蓝儿唯美
数据分析
顾客通过多种渠道制造大量数据,企业则热衷于利用这些信息来实现更为个性化的体验。
分析公司Gartner表示,高级分析会成为客户服务的关键,但是大数据分析的采用目前仅局限于不到一成的企业。 挑战在于企业还在努力适应结构化数据,疲于根据自身的客户关系管理(CRM)系统部署有效的分析框架,以及集成不同的内外部信息源。
然而,面对顾客通过数字技术参与而产生的快速变化的信息,企业需要及时作出反应。要想实
- java笔记4
a-john
java
操作符
1,使用java操作符
操作符接受一个或多个参数,并生成一个新值。参数的形式与普通的方法调用不用,但是效果是相同的。加号和一元的正号(+)、减号和一元的负号(-)、乘号(*)、除号(/)以及赋值号(=)的用法与其他编程语言类似。
操作符作用于操作数,生成一个新值。另外,有些操作符可能会改变操作数自身的
- 从裸机编程到嵌入式Linux编程思想的转变------分而治之:驱动和应用程序
aijuans
嵌入式学习
笔者学习嵌入式Linux也有一段时间了,很奇怪的是很多书讲驱动编程方面的知识,也有很多书将ARM9方面的知识,但是从以前51形式的(对寄存器直接操作,初始化芯片的功能模块)编程方法,和思维模式,变换为基于Linux操作系统编程,讲这个思想转变的书几乎没有,让初学者走了很多弯路,撞了很多难墙。
笔者因此写上自己的学习心得,希望能给和我一样转变
- 在springmvc中解决FastJson循环引用的问题
asialee
循环引用fastjson
我们先来看一个例子:
package com.elong.bms;
import java.io.OutputStream;
import java.util.HashMap;
import java.util.Map;
import co
- ArrayAdapter和SimpleAdapter技术总结
百合不是茶
androidSimpleAdapterArrayAdapter高级组件基础
ArrayAdapter比较简单,但它只能用于显示文字。而SimpleAdapter则有很强的扩展性,可以自定义出各种效果
ArrayAdapter;的数据可以是数组或者是队列
// 获得下拉框对象
AutoCompleteTextView textview = (AutoCompleteTextView) this
- 九封信
bijian1013
人生励志
有时候,莫名的心情不好,不想和任何人说话,只想一个人静静的发呆。有时候,想一个人躲起来脆弱,不愿别人看到自己的伤口。有时候,走过熟悉的街角,看到熟悉的背影,突然想起一个人的脸。有时候,发现自己一夜之间就长大了。 2014,写给人
- Linux下安装MySQL Web 管理工具phpMyAdmin
sunjing
PHPInstallphpMyAdmin
PHP http://php.net/
phpMyAdmin http://www.phpmyadmin.net
Error compiling PHP on CentOS x64
一、安装Apache
请参阅http://billben.iteye.com/admin/blogs/1985244
二、安装依赖包
sudo yum install gd
- 分布式系统理论
bit1129
分布式
FLP
One famous theory in distributed computing, known as FLP after the authors Fischer, Lynch, and Patterson, proved that in a distributed system with asynchronous communication and process crashes,
- ssh2整合(spring+struts2+hibernate)-附源码
白糖_
eclipsespringHibernatemysql项目管理
最近抽空又整理了一套ssh2框架,主要使用的技术如下:
spring做容器,管理了三层(dao,service,actioin)的对象
struts2实现与页面交互(MVC),自己做了一个异常拦截器,能拦截Action层抛出的异常
hibernate与数据库交互
BoneCp数据库连接池,据说比其它数据库连接池快20倍,仅仅是据说
MySql数据库
项目用eclipse
- treetable bug记录
braveCS
table
// 插入子节点删除再插入时不能正常显示。修改:
//不知改后有没有错,先做个备忘
Tree.prototype.removeNode = function(node) {
// Recursively remove all descendants of +node+
this.unloadBranch(node);
// Remove
- 编程之美-电话号码对应英语单词
bylijinnan
java算法编程之美
import java.util.Arrays;
public class NumberToWord {
/**
* 编程之美 电话号码对应英语单词
* 题目:
* 手机上的拨号盘,每个数字都对应一些字母,比如2对应ABC,3对应DEF.........,8对应TUV,9对应WXYZ,
* 要求对一段数字,输出其代表的所有可能的字母组合
- jquery ajax读书笔记
chengxuyuancsdn
jQuery ajax
1、jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()
- JWFD工作流拓扑结构解析伪码描述算法
comsci
数据结构算法工作活动J#
对工作流拓扑结构解析感兴趣的朋友可以下载附件,或者下载JWFD的全部代码进行分析
/* 流程图拓扑结构解析伪码描述算法
public java.util.ArrayList DFS(String graphid, String stepid, int j)
- oracle I/O 从属进程
daizj
oracle
I/O 从属进程
I/O从属进程用于为不支持异步I/O的系统或设备模拟异步I/O.例如,磁带设备(相当慢)就不支持异步I/O.通过使用I/O 从属进程,可以让磁带机模仿通常只为磁盘驱动器提供的功能。就好像支持真正的异步I/O 一样,写设备的进程(调用者)会收集大量数据,并交由写入器写出。数据成功地写出时,写入器(此时写入器是I/O 从属进程,而不是操作系统)会通知原来的调用者,调用者则会
- 高级排序:希尔排序
dieslrae
希尔排序
public void shellSort(int[] array){
int limit = 1;
int temp;
int index;
while(limit <= array.length/3){
limit = limit * 3 + 1;
- 初二下学期难记忆单词
dcj3sjt126com
englishword
kitchen 厨房
cupboard 厨柜
salt 盐
sugar 糖
oil 油
fork 叉;餐叉
spoon 匙;调羹
chopsticks 筷子
cabbage 卷心菜;洋白菜
soup 汤
Italian 意大利的
Indian 印度的
workplace 工作场所
even 甚至;更
Italy 意大利
laugh 笑
m
- Go语言使用MySQL数据库进行增删改查
dcj3sjt126com
mysql
目前Internet上流行的网站构架方式是LAMP,其中的M即MySQL, 作为数据库,MySQL以免费、开源、使用方便为优势成为了很多Web开发的后端数据库存储引擎。MySQL驱动Go中支持MySQL的驱动目前比较多,有如下几种,有些是支持database/sql标准,而有些是采用了自己的实现接口,常用的有如下几种:
http://code.google.c...o-mysql-dri
- git命令
shuizhaosi888
git
---------------设置全局用户名:
git config --global user.name "HanShuliang" //设置用户名
git config --global user.email "
[email protected]" //设置邮箱
---------------查看环境配置
git config --li
- qemu-kvm 网络 nat模式 (四)
haoningabc
kvmqemu
qemu-ifup-NAT
#!/bin/bash
BRIDGE=virbr0
NETWORK=192.168.122.0
GATEWAY=192.168.122.1
NETMASK=255.255.255.0
DHCPRANGE=192.168.122.2,192.168.122.254
TFTPROOT=
BOOTP=
function check_bridge()
- 不要让未来的你,讨厌现在的自己
jingjing0907
生活 奋斗 工作 梦想
故事one
23岁,他大学毕业,放弃了父母安排的稳定工作,独闯京城,在家小公司混个小职位,工作还算顺手,月薪三千,混了混,混走了一年的光阴。 24岁,有了女朋友,从二环12人的集体宿舍搬到香山民居,一间平房,二人世界,爱爱爱。偶然约三朋四友,打扑克搓麻将,日子快乐似神仙; 25岁,出了几次差,调了两次岗,薪水涨了不过百,生猛狂飙的物价让现实血淋淋,无力为心爱银儿购件大牌
- 枚举类型详解
一路欢笑一路走
enum枚举详解enumsetenumMap
枚举类型详解
一.Enum详解
1.1枚举类型的介绍
JDK1.5加入了一个全新的类型的”类”—枚举类型,为此JDK1.5引入了一个新的关键字enum,我们可以这样定义一个枚举类型。
Demo:一个最简单的枚举类
public enum ColorType {
RED
- 第11章 动画效果(上)
onestopweb
动画
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- Eclipse中jsp、js文件编辑时,卡死现象解决汇总
ljf_home
eclipsejsp卡死js卡死
使用Eclipse编辑jsp、js文件时,经常出现卡死现象,在网上百度了N次,经过N次优化调整后,卡死现象逐步好转,具体那个方法起到作用,不太好讲。将所有用过的方法罗列如下:
1、取消验证
windows–>perferences–>validation
把 除了manual 下面的全部点掉,build下只留 classpath dependency Valida
- MySQL编程中的6个重要的实用技巧
tomcat_oracle
mysql
每一行命令都是用分号(;)作为结束
对于MySQL,第一件你必须牢记的是它的每一行命令都是用分号(;)作为结束的,但当一行MySQL被插入在PHP代码中时,最好把后面的分号省略掉,例如:
mysql_query("INSERT INTO tablename(first_name,last_name)VALUES('$first_name',$last_name')");
- zoj 3820 Building Fire Stations(二分+bfs)
阿尔萨斯
Build
题目链接:zoj 3820 Building Fire Stations
题目大意:给定一棵树,选取两个建立加油站,问说所有点距离加油站距离的最大值的最小值是多少,并且任意输出一种建立加油站的方式。
解题思路:二分距离判断,判断函数的复杂度是o(n),这样的复杂度应该是o(nlogn),即使常数系数偏大,但是居然跑了4.5s,也是醉了。 判断函数里面做了3次bfs,但是每次bfs节点最多