guoyongfeng / idoc Goto Github PK
View Code? Open in Web Editor NEW我的技术文档
Home Page: http://guoyongfeng.github.io/idoc/
我的技术文档
Home Page: http://guoyongfeng.github.io/idoc/
1.bootstrap
bootstrap
,而文章中的代码里面没有,因为计划把bootstrap
的引入使用放到第三章了。2.路由
About
容器组件,用于展示路由的功能history
和react-router
的关系。React Router
是建立在history
之上的。 简而言之,一个 history 知道如何去监听浏览器地址栏的变化, 并解析这个 URL
转化为 location
对象, 然后 router 使用它匹配到路由,最后正确地渲染对应的组件。所以使用react-router
的时候请将history
一起下载,而且有可能会有版本问题导致的坑hashHistory
和browserHistory
有什么区别hash:
它用到的是 URL 中的 hash(#)部分去创建形如 example.com/#/some/path
的路由。browser:
它使用 History API 在浏览器中被创建用于处理 URL,新建一个像这样真实的 URL
react-router
的其他用法简介:Link、NotFound、Redirect、onEnter、onLeave、IndexLink
总的来说,react-router的内容还是不少的,当前项目以部分功能跑通使用为主,详细的使用会有单独的文章讲解。
3.history-api-fallback
enables support for history API fallback.
4.api.github.com
https://developer.github.com/v3
{
"login": "GuoYongfeng",
"id": 8686869,
"avatar_url": "https://avatars.githubusercontent.com/u/8686869?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/GuoYongfeng",
"html_url": "https://github.com/GuoYongfeng",
"followers_url": "https://api.github.com/users/GuoYongfeng/followers",
"following_url": "https://api.github.com/users/GuoYongfeng/following{/other_user}",
"gists_url": "https://api.github.com/users/GuoYongfeng/gists{/gist_id}",
"starred_url": "https://api.github.com/users/GuoYongfeng/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/GuoYongfeng/subscriptions",
"organizations_url": "https://api.github.com/users/GuoYongfeng/orgs",
"repos_url": "https://api.github.com/users/GuoYongfeng/repos",
"events_url": "https://api.github.com/users/GuoYongfeng/events{/privacy}",
"received_events_url": "https://api.github.com/users/GuoYongfeng/received_events",
"type": "User",
"site_admin": false,
"name": "GuoYongfeng",
"company": "Yonyon.inc",
"blog": "http://guoyongfeng.github.io/idoc/",
"location": "Beijing City, Haidian District North Road No. 68, UFIDA Software Park",
"email": "[email protected]",
"hireable": null,
"bio": null,
"public_repos": 70,
"public_gists": 0,
"followers": 57,
"following": 36,
"created_at": "2014-09-07T15:07:31Z",
"updated_at": "2016-03-26T01:01:22Z"
}
React-router是基于history库来创建的。简单来讲,history可以知道如何监听浏览器地址栏的改变从而将URL解析到location对象中,这样的话,router就可以匹配到每一条routes并且正确的渲染一系列的组件。
component的传入值只能为具体的组件
components的传入值可以为对象或具体的组件
render(){
console.log(this.props);
return (.....);
}
在每一条Route对应渲染的组件中都可以拿到this.context.route,这个对象上面挂载了很多API,setRouteLeaveHook这个是常用的。
接口约束,如果这个组件写了调用路由相关的API进行操作,但是本身没有放在router下面进行渲染,会给出友好的提示。
1. 什么时候上课
每周六晚19:30 - 21:30上课,特殊情况会在群公告说明。
2. 需要安装什么软件
3. 上课需要带电脑吗
强烈建议带电脑一起写代码
4. 预习资料有吗,在哪里
有全套的预习文档,请参见这里:http://guoyongfeng.github.io/idoc/
5. 课程视频在哪里可以看到
请关注群公告,会放在百度网盘,也会有全套课程的地址给大家。
6. 应该去哪里听课
线下同学:请到北京市昌平区科星西路106号院国风美唐综合楼4号楼416
在线同学:https://ke.qq.com/course/101924
7. 我想提问怎么办
由于老师白天要上班,所以可能不能及时回答问题,问题可以提issue
地址
#3
最后讲师会统一回答
这里统一回复,具体同学们反馈的有以下三个大方向的问题:
修饰器(Decorator)是一个函数,用来修改类的行为(方法或属性),从而实现代码重用,了解Java的springmvc的同学可以类比注解这个概念。
操作命令用的是一些常用的,而且在预习课讲过(请复习一下之前的课程或讲义),主要以下几块:
其实课上的就是一个常用的使用流程:
基础部分在博客文章中列出,有时间的话,还是建议看一下阮一峰老师的《ES6入门》
这个不着急,慢慢来,先看这十几个基本常用的,并且知道新的语法特性解决了什么问题,这样能学的快一些。
只能在这里写一个大概的,更多关于规范的还得自己去学习。
// Requirejs -> AMD
define('module-id', ['module'], function(a){ // TODO });
// Seajs -> CMD
define(function(require, module, exports){ // TODO });
// Commonjs
var fs = require('fs');
module.exports = function(){ // TODO }
新的东西需要去接触,去学习。但是应用到项目中又是另一个方面,不能为了新而新,一定是为了解决项目的问题,或是提高开发的效率,才去把新的技术元素加入到项目中的。比如ES6有很多非常优秀好用的新特性,那么学完这次课,你就可以试着把ES6加入到项目中,但是需要做好工具方面的支撑,比如babel和gulp或是webpack。
class MyClass {
// 类的实例属性
myProp = 42;
// 类的构造函数
constructor() {
console.log(this.myProp); // 42
}
// 静态方法
static classMethod() {
return 'hello';
}
// 取值函数
get prop() {
return 'getter';
}
// 存值函数
set prop(value) {
console.log('setter: '+value);
}
// 原型方法
toString() {
return this.color + ' ' + super.toString();
}
}
// 静态属性
MyClass.prop = 1;
那暂时就当是技术储备,需要用的话,你的技术储备就发挥价值了。
感谢反馈,这就是传说中的众口难调。暂时还是考虑讲一些细节吧,毕竟需要拉上一些基础不是很好的同学一起玩耍。
目前阶段不会增加课时了,不过可以讲慢一点,抱歉。
好的,感谢反馈,这个后面我单独加一部分内容放到博客上,请到时关注。
感谢你的反馈,如你所说,2个小时的课程内容比较赶,更多是需要大家做好课前预习,再结合课上讲解。总体还是应用加引导,在有限的时间内讲不全,后面会考虑课程的拆分。
好的,感谢反馈,我们下次课直接麦克风。
好的,这个会放在redux的时候讲一下,这次课程的2个小时时间讲不完。
这次课程的ES6知识属于快餐式的,做一个基本的介绍。
同学,你好,感谢反馈,你的基础应该是不错的。不过这次课程的人数比较多,甚至当前讲的一些知识点也还没消化,所以这次的课程内容会多一些,主要是考虑大多数吧,抱歉。下一期考虑基础应用和高级实战分离,这样可以适用于不同基础的同学。
好的,感谢反馈,我们争取课后在视频上做一些优化处理。
...state.slice(0, action.index)
这种写法的渲染顺序请教下郭老师,
redux是怎么解决无关联组件之间通信的问题的呢?
proxy: [
{
path: /^\/api\/(.*)/,
target: "http://localhost:8080/",
rewrite: rewriteUrl('/$1\.json'),
+ changeOrigin: true
}
]
有些地方是这个写的,要从当前路径出发寻找webpack-dev-server
"scripts": {
"dev": "./node_modules/.bin/webpack-dev-server --progress --colors --content-base build"
}
有些地方是这么写的
"scripts": {
"dev": "webpack-dev-server"
}
是不是如果在这里如果不写相对路径 的话它会找./node_modules/.bin下面的命令? 而./node_modules/.bin下面所有的命令是安装本地安装模块的时候安装进去的?
是不是如果不指定webpack还会继续解析react源代码?
+ noParse: [pathToReact, pathToReactDOM]
其实就是详细描述一下直接通过名称引入一个模块的话查找路径是如何的?
import 'bootstrap/dist/css/bootstrap.css'
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.