react 16 ssr的重构踩坑】的更多相关文章

ssr 服务端不能识别前端的window.特别是首屏渲染的数据需要用到window对象(比如href += location.search); 服务端不能加载图片,css文件. require.extensions['.less'] = function () { return null; }; global.__DEV__ = !bytedEnv.isProd(); global.__SERVER__ = true; // 代码服务端环境 global.window = { location:…
万事开头难 作为一只进入ECMAScript世界不久的菜鸟,已经被React Native的名气惊到了,开源一周数万星勾起了我浓烈的兴趣.新年新气象,来个HellWorld压压惊吧^_^(故意少打个'o') 具体的详细教程这里都有,我就说说这里没找到的几个坑,由于大部分资料还是0.1.4版本的react-native,笔者用最新的0.1.7和现有的很多是不一样的. http://reactnative.cn/docs/android-setup.html#content 00.第一个坑,安卓墙…
最近项目用到Echarts(以下用ec代替),于是照猫画虎得引入到团队的antd项目中,但是遇到2个棘手问题: 1. ec对dom不渲染,检查后发现,原来是全局存在id重复,所以使用React时,最好对使用id保持全局唯一,说个题外话,其实 会用到id的机会少之又少. 2. ec报错:Cannot read property 'getAttribute' of null ,因为ec需要一个渲染挂载点,而用getById时,总是获取不到. 3.Component series.scatter no…
遇到的坑 今天在跟着dva.js官网上面的一个教程写东西的时候,照着教程上面的代码写之后,运行总是报错:TypeError: Cannot read property 'object' of undefined,这时候我百度了一下,也有解决方法. 我想说的是,我只是注意到一个文件,只是改了一个文件下面的代码,所以还是一直在报错,弄得我整个人都不好了. 坑的自我描述 升级前的package.json文件 "react": "15.4.2", "react-d…
react 路由配置中,如果根路由(/)匹配一个组件,另一个路由(/list)在进行匹配的时候也会匹配到根路由(/),即在 /list 页面展示的时候 / 页面总是展示在上方. 此时如果想进行严格匹配,有两种实现方式: 1.在 / 路由配置中使用 exact, 这时候在匹配 /list 时候, / 页面不会显示. 2.去除了exact之后,无论进哪个页面都是“/”对应的页面,这个时候,只需要把路由的顺序调整一下,把“/”这个Route放到最后即可 注意事项: react-router 嵌套路由…
首先安装依赖 npm i jest -g npm i jest babel-jest identity-obj-proxy enzyme enzyme-adapter-react-15.4 react-addons-test-utils --save-dev 以上 enzyme-adapter-react-15.4 是根据 react 版本进行安装相应版本的 adapter. 然后使用 jest 测试 react component 的时候,组件中 import 的 scss,png 等资源需要…
业务主要功能 获取所有的数据库列表 点击某一个数据库列表的时候,右侧分页展示数据 点击右侧某一条数据的时候,现实数据详情 以下是之前的页面,存在以下问题: 前段开发没有工程化(webpack) 主要功能耦合,列表,详情,(检索,重构的是为了加功能方便) 左侧的数据库链接是直接跳页的,分页的链接是跳页的,右侧点击的详情页却是vue-resource加载的 代码结构混乱,之前为了快速实现功能.所有代码写在一个文件上.难读. 功能效果图 数据列表页效果 数据详情效果 代码重构思路 前段模块化开发,用w…
项目背景 在项目的初始阶段,我们需要建立自己的design system,我们spike了一些方案,tailwind-rn就是其中一种,如果有用到或者即将用到tailwind-rn的,可以进来看一看,避免踩坑. 后来觉得项目比较简单,tailwind对新上项目小伙伴确实不太友好,所以我们最终没有采用. 简介 GitHub - vadimdemedes/tailwind-rn: Use Tailwind CSS in React Native projects Tailwind 提倡了原子型的CS…
最近在使用React Native(以下简称RN)中踩了个坑,RN只能异步调用原生方法,所以在原生方法直接调用UI刷新操作需要将任务递交到主线程才可以. RCT_EXPORT_METHOD(finish) { UIViewController *cVC = [UIViewController getTopViewController]; [cVC.navigationController popViewControllerAnimated:YES]; } 调用的时候可以发现,线程并不是主线程.比…
title:Ubuntu 16.04 安装Mysql 5.7 踩坑小记 date: 2018.02.03 安装mysql sudo apt-get install mysql-server mysql-client 测试是否安装成功 sudo netstat -tap | grep mysql 相关操作 登录 mysql -uroot -p 检查MySQL服务器占用端口 netstat -nlt|grep 3306 检查MySQL服务器系统进程 ps -aux|grep mysql 查看数据库的…