Helay

Results 40 issues of Helay

[![](https://badge.juejin.im/entry/5ac98fe9f265da238c3af067/likes.svg?style=flat-square)](https://juejin.im/entry/5ac98fe9f265da238c3af067/detail) > 在一个经典的 `React` 应用中,组件之间通信是常用到的技术方案。在父子组件之间通常通过 `props` 来传递参数,而非父子组件就比较麻烦了,要么就一级一级通过 `props` 传递,要么就使用 `Redux` or `Mobx` 这类状态管理的状态管理库,但是这样无疑增加了应用的复杂度。在 FEers 的期盼中,`React` 团队终于从 `16.3.0` 版本开始新增了一个新的 API `Context`,福音啊。好了,今天我就来一起学习一下这个新的 `Context`。 ## 什么时候使用 Contsxt Context 目的是为了共享可以被认为是 `React` 组件“全局”树的数据。例如当前应用的主题、首选语言等等。接下来看看通过 `props` 和...

redux
React

## Nuxt.js 简单介绍 Nuxt.js 是一个基于 Vue.js 的服务端渲染框架。 ### Vue SSR 的原理图 ![原理图](https://zhanstatic.vivo.com.cn/wukong/img/70fca478-6ad5-41bf-9c5b-8956ad2e2ee1.png) ### Nuxt.js的优势 - 无需为了路由划分而烦恼,你只需要按照对应的文件夹层级创建 .vue 文件就行 - 无需考虑数据传输问题,Nuxt 会在模板输出之前异步请求数据(需要引入 axios 库),而且对 vuex 有进一步的封装 - 内置了 webpack,省去了配置 webpack 的步骤,nuxt...

Nodejs
Nuxtjs

## 变量 ``` var name = 'Bob'; ``` ### Default value(默认值) 没有初始化的变量自动获取一个默认值为 null。 ``` int lineCount; assert(lineCount == null); // Variables (even if they will be numbers) are initially null....

Flutter

## 环境要求 - 软件:Xcode、Android studio、VScode - 工具: Flutter 依赖下面这些命令行工具: - bash, mkdir, rm, git, curl, unzip, which - brew 是 Mac 下的一个包管理工具,类似于 centos 下的 yum,可以很方便地进行安装/卸载/更新各种软件包 ## 下载安装Flutter SDK ### 下载...

Flutter

> npm 和 yarn 是目前比较常用的包管理工具。本文主要对 npm5+ 和 yarn 来做简单的对比和介绍。 npm 与 yarn 主要的命令对比: npm命令 |yarn命令 | :------|:--------| npm install| yarn (install) npm install --save / npm i| yarn add npm...

## 认识 高阶函数(Higher Order Function)作为函数式编程众多风格中的一项显著特征,经常被使用着。 那什么是高阶函数呢?高阶函数是对其他函数进行操作的函数,操作可以是将它们作为参数,或者是返回它们,即满指至少满足下列条件之一的函数: - 函数作为参数被传递 - 函数作为返回值输出 ## 应用 实际上我们日常开发中也会经常用到高阶函数。接下来看一下几个典型的应用实例: ### 做为参数传递 #### Array.prototype.map() map() 接受一个函数作参数,这个函数封装了创建新数组的规则,从 map() 的使用可以看到,我们的目的是根据原数组获取一个新数组,这是不变的部分;而使用什么规则去创建,则是可变的部分。把可变的部分封装在函数参数里,动态传入 map(),使 map() 方法成为了一个非常灵活的方法。 ```js const arr1 = [1,3,5] const...

高阶函数

## 为什么要用子模块 ### 痛点 在我们开发项目的时候可能会遇到下面这个问题:在你的项目中使用另外一个项目,也许这个是一个第三方开发的库或者是你独立开发和并在多个父项目中使用的。简单的说就是A同学开发的一个模块,被B、C…同学共同调用(使用),可能就形成了如下的这种关系。 ![模块调用关系](http://7xtxh3.com1.z0.glb.clouddn.com/blog/[email protected]) 这个场景下一个常见的问题产生了:你想将两个项目单独处理但是又需要在其中一个中使用另外一个。 ### 解决方案 这种问题,Git 已经帮我们有了处理方案——子模块。 - 子模块允许你将一个 Git 仓库作为另一个 Git 仓库的子目录。 它能让你将另一个仓库克隆到自己的项目中,同时还保持提交的独立。 - 子模块关键字:`git submodule` ## 如何使用子模块 假如目前我们有两个仓库,`module`(目标仓库)和 `submodule`(子模块仓库)。 #### 在现有的仓库中加入子模块 ```sh git submodule...

Git

如今 Git 在团队开发中使用已经越来越普遍,那么如何做好提交信息的规范化呢?本文主要结合 [Angular Git Commit message 规范](https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit#heading=h.greljkmo14y0),来介绍一下相关的配套工具使用。 ## Commit message 规范化的好处 - 提供更多的历史信息,方便快速浏览。 - 可以过滤某些commit(比如文档改动),便于快速查找信息。 ## 如何规范化 Commit message 下面主要介绍一下相关的工具。 ### Commitizen [commitizen](https://github.com/commitizen/cz-cli)是一个撰写合格 Commit message 的工具。 安装如下: ```sh $...

Git

## 父子组件之间传递 ### 父 -> 子 #### (props)属性值方式 - 父组件关键代码: ```js ``` - 子组件关键代码: ```js export default { name: 'child', props: { child-msg: String //这里指定了字符串类型,如果类型不一致会警 } }; ``` `child-msg` 为父组件给子组件设置的额外属性值,属性值需在子组件中设置`props`,子组件中可直接使用`child-msg`变量。...

vue

最近利用空余时间研究学习了前端“三剑客”之 —— Angular。Angular 是一个开发平台。它能帮你更轻松的构建 Web 应用。Angular 集声明式模板、依赖注入、端到端工具和一些最佳实践于一身,为你解决开发方面的各种挑战。Angular 为开发者提升构建 Web、手机或桌面应用的能力(好官方~~~)。好了,接下来结合自己做 DEMO 的过程来说说。 > github >> [https://github.com/Hancoson/ng-zhihuDaily](https://github.com/Hancoson/ng-zhihuDaily) Star Star Star ~~ ## 开始 - 脚手架:本 demo 是使用 [Angular CLI](https://cli.angular.io/) 工具来构建的,不熟悉的同学可以去官网看看。 - 技术栈:...

Angular