<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[tomotoCoder的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/tomotoCoder</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; tomotoCoder]]></copyright><item><title><![CDATA[G2根据最小值和最大值动态配置坐标系]]></title><link>https://blog.youkuaiyun.com/tomotoCoder/article/details/109182438</link><guid>https://blog.youkuaiyun.com/tomotoCoder/article/details/109182438</guid><author>tomotoCoder</author><pubDate>Tue, 20 Oct 2020 16:11:23 +0800</pubDate><description><![CDATA[参考：https://g2.antv.vision/zh/docs/manual/concepts/data-and-scales#%E8%BF%9E%E7%BB%AD%E6%95%B0%E6%8D%AE%E5%BA%A6%E9%87%8F%E7%9A%84%E8%AE%A1%E7%AE%97

直接上源码scale.ts


const snapArray = [0, 2, 5, 10];  //逼近值数组，保证能被2和5整除

const getFactor = (tickInterval: numbe]]></description><category></category></item><item><title><![CDATA[react-router-dom，react-router 在非组件内进行路由跳转]]></title><link>https://blog.youkuaiyun.com/tomotoCoder/article/details/109097263</link><guid>https://blog.youkuaiyun.com/tomotoCoder/article/details/109097263</guid><author>tomotoCoder</author><pubDate>Thu, 15 Oct 2020 15:13:41 +0800</pubDate><description><![CDATA[前言：在写项目时需要在非组件的js文件里 进行路由跳转，比如axios里请求响应拦截后做路由跳转, 但是又不能获取到this.props.history， 那怎么才能获取到history对象呢？

1.创建一个 utils/history.js


import { createBrowserHistory } from 'history';

export default  createBrowserHistory();

2.主入口index.js


import ReactDOM from 're.]]></description><category></category></item><item><title><![CDATA[在react项目中使用redux帮助（基础版）]]></title><link>https://blog.youkuaiyun.com/tomotoCoder/article/details/109091673</link><guid>https://blog.youkuaiyun.com/tomotoCoder/article/details/109091673</guid><author>tomotoCoder</author><pubDate>Thu, 15 Oct 2020 14:18:01 +0800</pubDate><description><![CDATA[参考文献https://www.redux.org.cn/

什么是redux:

redux是react中的全局状态管理体系，相当于vue中的vuex，

是否需要：

在开始使用前，你必须要明确项目是否真的需要它：

1.项目中是否存在多组件共用一种状态的场景？

2.组件之间的状态是否有关联？

举例：添加购物车，显示和修改用户信息,都可以用redux共享全局状态

怎么使用：

（先来熟悉一下以下几个概念）



1.action:

action 就是一个JavaScript，当vi...]]></description><category></category></item><item><title><![CDATA[TypeScript基本用法和在vue中的使用]]></title><link>https://blog.youkuaiyun.com/tomotoCoder/article/details/100021783</link><guid>https://blog.youkuaiyun.com/tomotoCoder/article/details/100021783</guid><author>tomotoCoder</author><pubDate>Thu, 22 Aug 2019 20:35:10 +0800</pubDate><description><![CDATA[TypeScript基本用法

1.声明


let isDone: boolean = false;

:后面 跟数据类型string，number,boolean,object等等 = 后面跟对应值

在函数定义中使用


function add(x: number, y: number): number {
    return x + y;
}

2.接口


interfa...]]></description><category></category></item><item><title><![CDATA[h5在移动端适配 px自动转rem]]></title><link>https://blog.youkuaiyun.com/tomotoCoder/article/details/99464828</link><guid>https://blog.youkuaiyun.com/tomotoCoder/article/details/99464828</guid><author>tomotoCoder</author><pubDate>Tue, 13 Aug 2019 19:54:30 +0800</pubDate><description><![CDATA[在项目中为了屏幕适配，经常会用到rem，postcss-px2rem就是为了让我们直接在将代码中px自动转化成对应的rem的一个插件

如何使用：

1.安装

npm i postcss-px2rem --save -dev

2.设置（以下总结了三种方式）

1）.找到项目根目录下的.postcssrc文件


module.exports = {
  "plugins": {
    ...]]></description><category></category></item><item><title><![CDATA[使用console.time打印代码运行时间]]></title><link>https://blog.youkuaiyun.com/tomotoCoder/article/details/93219901</link><guid>https://blog.youkuaiyun.com/tomotoCoder/article/details/93219901</guid><author>tomotoCoder</author><pubDate>Fri, 21 Jun 2019 19:10:08 +0800</pubDate><description><![CDATA[如果你想知道自己写的代码运行时间，你可以使用console自带的方法console.time和console.timeEnd，像这样


 console.time('test');
    var name = "我是测试";
 console.timeEnd('test')；

打印出的结果


...]]></description><category></category></item><item><title><![CDATA[谈谈OKR]]></title><link>https://blog.youkuaiyun.com/tomotoCoder/article/details/93173462</link><guid>https://blog.youkuaiyun.com/tomotoCoder/article/details/93173462</guid><author>tomotoCoder</author><pubDate>Fri, 21 Jun 2019 11:08:09 +0800</pubDate><description><![CDATA[1.什么是OKR

OKR体系的全称是Objectives &amp; Key Results，O表示目标，KR 即Key Results 可以理解为关键成果。合在一起就是“为确保达成企业目标的关键成果分解与实施”。OKR是一个针对企业目标简单高效的管理系统。



2.如何确认目标(Objectives)

目标，简单来说就是你想做什么，但是在制定目标的时候要注意以下几点

1.目标要有挑战性...]]></description><category></category></item><item><title><![CDATA[vue项目打包成dist后，如何部署到本地呢]]></title><link>https://blog.youkuaiyun.com/tomotoCoder/article/details/90700928</link><guid>https://blog.youkuaiyun.com/tomotoCoder/article/details/90700928</guid><author>tomotoCoder</author><pubDate>Thu, 30 May 2019 17:18:20 +0800</pubDate><description><![CDATA[关于webPack打包后 本地启动服务器查看

除了启动apache的方式启动本地服务器，这里介绍一种快捷方式

1.安装http-server

  启动mac终端，全局安装：  # sudo cnpm install -g http-server

2. 进入dist产出目录

   # cd dist

3.开启服务

  #hs    

运行成功后，访...]]></description><category></category></item><item><title><![CDATA[（转）手写promise探究底层原理]]></title><link>https://blog.youkuaiyun.com/tomotoCoder/article/details/90379706</link><guid>https://blog.youkuaiyun.com/tomotoCoder/article/details/90379706</guid><author>tomotoCoder</author><pubDate>Mon, 27 May 2019 18:53:37 +0800</pubDate><description><![CDATA[版权声明：自由转载--保持署名         https://blog.youkuaiyun.com/wu_xianqiang/article/details/79596707     
             
    
function Promise(excutor) {
  let self = this
  self.status = 'pending'
  self.v...]]></description><category></category></item><item><title><![CDATA[webstorm配置ftp并上传到服务器]]></title><link>https://blog.youkuaiyun.com/tomotoCoder/article/details/90446638</link><guid>https://blog.youkuaiyun.com/tomotoCoder/article/details/90446638</guid><author>tomotoCoder</author><pubDate>Wed, 22 May 2019 16:43:08 +0800</pubDate><description><![CDATA[1.新建工程 file&gt;new&gt;project



2.设置ftp

Tools-&gt;Deployment-&gt;configruation



单击左上角加号新增一个FTP服务连接 然后配置FTP host,username,pwd等信息，配置好之后，可以Test FTP connection测试FTP是否连接成功。

3.设置自动上传模式



4. 显示扩展面板 

...]]></description><category></category></item><item><title><![CDATA[js继承的几种方式]]></title><link>https://blog.youkuaiyun.com/tomotoCoder/article/details/90375469</link><guid>https://blog.youkuaiyun.com/tomotoCoder/article/details/90375469</guid><author>tomotoCoder</author><pubDate>Mon, 20 May 2019 17:36:02 +0800</pubDate><description><![CDATA[看了w3school 上的ECMAScript 继承机制实现讲的几种方式，感觉还是有点乱，所以还是想再详细理一下继承的几种方式，分享给大家

1.构造函数继承


 //构造函数继承
  function Animal() {
      this.type = 'animal';
      this.play = function () {
        console.log('play'...]]></description><category></category></item><item><title><![CDATA[关于原型propotype的应用]]></title><link>https://blog.youkuaiyun.com/tomotoCoder/article/details/90321531</link><guid>https://blog.youkuaiyun.com/tomotoCoder/article/details/90321531</guid><author>tomotoCoder</author><pubDate>Sat, 18 May 2019 23:16:59 +0800</pubDate><description><![CDATA[1.什么是propotype

  官方是这样解释propotype的：使你有能力向对象添加属性和方法

  为了更好理解 我们直接用官方的例子来具体说明一下吧


function employee(name,job,born) {
    this.name=name;
    this.job=job;
    this.born=born;
}

var bill = new ...]]></description><category></category></item><item><title><![CDATA[关于js原型，原型链]]></title><link>https://blog.youkuaiyun.com/tomotoCoder/article/details/90293528</link><guid>https://blog.youkuaiyun.com/tomotoCoder/article/details/90293528</guid><author>tomotoCoder</author><pubDate>Fri, 17 May 2019 16:44:54 +0800</pubDate><description><![CDATA[在说明原型(原型对象)之前，我们还是先回顾一下对象的概念

1.javascript对象：

  所谓万物皆对象，在javascript中，对象又可以分为普通对象和函数对象，看下面的例子


 var obj1 = {name:'Leal'};   
 var obj2 =new Object();      //普通对象

 var f1 = function () {      
   ...]]></description><category></category></item></channel></rss>