React路由器允许反应应用程序处理/arbitrary/route
.为了实现这一点,我需要我的服务器在任何匹配的路由上发送React应用程序.
但是webpack dev服务器不处理任意端点.
这里有一个使用附加快速服务器的解决方案. 如何允许webpack-dev-server允许来自react-router的入口点
但我不想启动另一个快速服务器以允许路由匹配.我只是想告诉webpack dev服务器匹配任何网址并发送给我我的反应应用程序.请.
如何枚举ES6类的方法?相近Object.keys
这是一个例子:
class Callbacks {
method1() {
}
method2() {
}
}
const callbacks = new Callbacks();
callbacks.enumerateMethods(function(method) {
// method1, method2 etc.
});
Run Code Online (Sandbox Code Playgroud) 我正在学习本教程:http://reactkungfu.com/2015/07/approaches-to-testing-react-components-an-overview/
试图了解"浅渲染"的工作原理.
我有一个更高阶的组件:
import React from 'react';
function withMUI(ComposedComponent) {
return class withMUI {
render() {
return <ComposedComponent {...this.props}/>;
}
};
}
Run Code Online (Sandbox Code Playgroud)
和一个组件:
@withMUI
class PlayerProfile extends React.Component {
render() {
const { name, avatar } = this.props;
return (
<div className="player-profile">
<div className='profile-name'>{name}</div>
<div>
<Avatar src={avatar}/>
</div>
</div>
);
}
}
Run Code Online (Sandbox Code Playgroud)
和测试:
describe('PlayerProfile component - testing with shallow rendering', () => {
beforeEach(function() {
let {TestUtils} = React.addons;
this.TestUtils = TestUtils;
this.renderer = TestUtils.createRenderer();
this.renderer.render(<PlayerProfile name='user' …
Run Code Online (Sandbox Code Playgroud) 我如何/在哪里定期发送行动?使用递归setTimeout
进行倒计时.
从示例中得出类似于此的内容:
// Can also be async if you return a function
export function incrementAsync() {
return dispatch => {
(function _r() {
setTimeout(() => {
// Yay! Can invoke sync or async actions with `dispatch`
dispatch(increment());
_r();
}, 1000);
})();
};
}
Run Code Online (Sandbox Code Playgroud)
那么这是一个好主意,还是有更好的方法解决这个问题,比如使用中间件或从其他地方创建动作?
我更喜欢这个的通用版本,我可以通过商店控制计时器的启动/停止.
我已经设置了一个示例实现,请查看https://gist.github.com/eguneys/7023a114558b92fdd25e
如何使用webpack导入静态URL:
index.js
import 'http://google.com/myscript.js'
我想将这个 unicode 字符转换为 svg 格式。因为我想用它作为图标。我该如何简单地做到这一点?
我习惯于在Ember对象模型中计算属性.这是指定依赖于其他属性的计算属性的便捷方式.
说fullName
取决于firstName
和lastName
,我可以将计算属性设置为函数,computeProperties
并在computeProperties
每次进行更改时调用.
例:
function computeFullName(state) {
const fullName = state.get('firstName') + state.get('lastName');
const nextState = state.set('fullName', fullName);
return nextState;
}
function computeProperties(state) {
const nextState = computeFullName(state);
return nextState;
}
// store action handler
[handleActionX](state) {
let nextState = state.set('firstName', 'John');
nextState = state.set('lastName', 'Doe');
nextState = computeProperties(nextState);
return nextState;
}
Run Code Online (Sandbox Code Playgroud)
有没有办法自动设置计算属性,以便我不必每次都调用额外的函数.在Redux或ImmutableJS中.
我理解如何使用生成器使异步代码看起来不错.我有一个简单的生成器*all
,它需要一个page
,将返回一个值.
然后我有另一个生成器*allDo
,将*all
用于第1到30页,并为每个结果,做一些异步task
.
然后我有另一台发电机*allBatchDo
,它将批量3页,并做一些异步task
.
function mockPromise(value) {
return Promise(function(resolve, reject) {
resolve(value);
});
}
function *all(page) {
var ls = yield mockPromise("page " + page);
// do all kinds of promises
return yield ls;
};
function *allDo(task) {
var page = 1;
while (true) {
var res = yield * all(page);
res = yield task(res);
if (page == 30) {
break;
}
page++;
}
}
function *allBatchDo(task) …
Run Code Online (Sandbox Code Playgroud) 这是什么样的ES6语法?
{
[ActionTypes.Repo](state, { username, res }) {
/* ... */
},
[ActionTypes.Repo2](state, { username, res }) {
/* ... */
}
Run Code Online (Sandbox Code Playgroud)
取自:https://github.com/quangbuule/redux-example/blob/master/src/js/reducers/Repo.js
Karma有一个内置context.html
文件,可以加载测试页面.但它很糟糕.我可以指定自定义测试页吗?
我问的原因是因为我想在浏览器上看到mocha漂亮的界面.有没有办法用Karma插入?
Testem在浏览器上显示测试框架的界面; 有没有理由为什么Karma只显示一个丑陋的空白页?
@stackoverflow = are you happy now?yes:no
stackoverflow = happy now?ok:thanks
Run Code Online (Sandbox Code Playgroud) javascript ×8
ecmascript-6 ×5
reactjs ×4
redux ×3
flux ×2
mocha.js ×2
webpack ×2
asynchronous ×1
co ×1
favicon ×1
html ×1
immutable.js ×1
jestjs ×1
karma-runner ×1
react-jsx ×1
react-router ×1
svg ×1
tdd ×1
testem ×1