考虑以下:
var AppRoutes = [
<Route handler={App} someProp="defaultProp">
<Route path="/" handler={Page} />
</Route>,
<Route handler={App} someProp="defaultProp">
<Route path="/" handler={Header} >
<Route path="/withheader" handler={Page} />
</Route>
</Route>,
<Route handler={App} someProp="defaultProp">
<Route path=":area" handler={Area} />
<Route path=":area/:city" handler={Area} />
<Route path=":area/:city/:locale" handler={Area} />
<Route path=":area/:city/:locale/:type" handler={Area} />
</Route>
];
Run Code Online (Sandbox Code Playgroud)
我有一个App Template,一个HeaderTemplate和一个具有相同处理程序的参数化路由集(在App模板中).我希望能够在找不到东西时提供404路线.例如,/ CA/SanFrancisco应该由Area找到并处理,而/ SanFranciscoz应该是404.
这是我如何快速测试路线.
['', '/', '/withheader', '/SanFranciscoz', '/ca', '/CA', '/CA/SanFrancisco', '/CA/SanFrancisco/LowerHaight', '/CA/SanFrancisco/LowerHaight/condo'].forEach(function(path){
Router.run(AppRoutes, path, function(Handler, state){
var output = React.renderToString(<Handler/>);
console.log(output, '\n');
});
});
Run Code Online (Sandbox Code Playgroud)
问题是/ SanFranciscoz总是由Area页面处理,但我希望它为404.另外,如果我将NotFoundRoute添加到第一个路由配置,所有Area页面404.
<Route handler={App} someProp="defaultProp">
<Route path="/" …
Run Code Online (Sandbox Code Playgroud) 在发布这个问题之前,我试图在sqa stackexchange中搜索,但我发现没有关于浅的帖子并在那里渲染,所以我希望有人可以帮助我.
什么时候我应该使用浅和渲染测试反应组件?根据airbnb文档,我对两者的区别提出了一些看法:
由于浅层是将组件作为一个单元进行测试,因此它应该用于"父"组件.(例如桌子,包装等)
渲染用于子组件.
我问这个问题的原因是,我很难弄清楚应该使用哪一个(尽管文档说他们非常相似)
那么,我如何知道在特定场景中使用哪一个?
我正在尝试在JavaScript中实现二进制搜索算法.事情似乎没问题,但我的回复陈述似乎是未定义的回归?谁能说出这里有什么问题?
小提琴:http://jsfiddle.net/2mBdL/
谢谢.
var a = [
1,
2,
4,
6,
1,
100,
0,
10000,
3
];
a.sort(function (a, b) {
return a - b;
});
console.log('a,', a);
function binarySearch(arr, i) {
var mid = Math.floor(arr.length / 2);
console.log(arr[mid], i);
if (arr[mid] === i) {
console.log('match', arr[mid], i);
return arr[mid];
} else if (arr[mid] < i && arr.length > 1) {
console.log('mid lower', arr[mid], i);
binarySearch(arr.splice(mid, Number.MAX_VALUE), i);
} else if (arr[mid] > i && arr.length > …
Run Code Online (Sandbox Code Playgroud) 我想知道是否有可能以编程方式发现特定API的所有端点.
例如,如果我使用浏览器或卷曲获取此URL:https: //api.twitter.com/1.1/
我可能会得到类似这样的JSON响应:
{"TwitterAPI":{
"version" : 1.1,
"GET" : {
"search/" : ["users", "trending"],
"users/" : ["id", "handle"]
}
}
Run Code Online (Sandbox Code Playgroud)
当然,Twitter可以选择发布或不发布此格式.所以作为一个附带问题,是否有任何Java或Javascript库可以自动映射和发布您在控制器中创建的API路由?
我正在测试一堆React JSX组件.它们都需要用React或Babel或其他任何东西来编译,但是我们对存根需求有特殊需求,所以我试图用一个用Mocha运行的特殊编译器来覆盖需求.下面的解决方案运行良好,但您会注意到我们正在使用require.extensions []来捕获所有.jsx文件.我担心的是require.extensions被锁定和弃用.有没有更好的方法来做到这一点?
// Install the compiler.
require.extensions['.jsx'] = function(module, filename) {
return module._compile(transform(filename), filename);
};
Run Code Online (Sandbox Code Playgroud)
以下是整个转录器供参考:
// Based on https://github.com/Khan/react-components/blob/master/test/compiler.js
var fs = require('fs'),
ReactTools = require('react-tools');
// A module that exports a single, stubbed-out React Component.
var reactStub = 'module.exports = require("react").createClass({render:function(){return null;}});';
// Should this file be stubbed out for testing?
function shouldStub(filename) {
if (!global.reactModulesToStub) return false;
// Check if the file name ends with any stub path.
var stubs = global.reactModulesToStub;
for (var i = …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用对象文字设置defaultProp,但过了一段时间后我意识到React类构造函数没有将默认道具与应用的道具合并,所以我最终得到了defaultProps文字中任何属性的未定义值没有被包括在应用道具中.有没有办法合并默认道具和应用道具,还是我需要将我的对象分解成几个道具?
class Test extends React.Component {
constructor(props) {
super(props);
//props.test is only {one: false}
//props.test.two is undefined
}
render() {
return (<div>render</div>)
}
}
Test.defaultProps = {
test: {
one: true,
two: true
}
}
ReactDOM.render(<Test test={{'one': false}}/>, document.getElementById('#test'));
Run Code Online (Sandbox Code Playgroud)
当我开始在UISearchController.searchBar中输入时,我试图找出为什么我的整个导航栏消失了它正确加载并动画正确,但是当我开始输入时我失去了活动的NavBar.这是从viewDidLoad加载searchController的代码:
UITableViewController *searchResultsController = [[UITableViewController alloc] initWithStyle:UITableViewStylePlain];
searchResultsController.tableView.dataSource = self;
searchResultsController.tableView.delegate = self;
searchResultsController.tableView.backgroundColor = [UIColor redColor];
self.searchController = [[UISearchController alloc] initWithSearchResultsController:searchResultsController];
self.searchController.delegate = self;
self.searchController.searchResultsUpdater = self;
self.searchController.dimsBackgroundDuringPresentation = YES;
self.searchController.hidesNavigationBarDuringPresentation = NO;
[self.searchController.searchBar sizeToFit];
self.tableView.tableHeaderView = self.searchController.searchBar;
self.definesPresentationContext = NO;
Run Code Online (Sandbox Code Playgroud)
这是我开始输入后的结果:
注意表格视图是如何存在的,但它似乎占据了导航控制器的空间并向下延伸到第一部分标题中.有任何想法吗?
谢谢.
鉴于以下gulp任务,我能够成功启动gulp,webpack和nodemon进程,但webpack任务是开放式的,因此当他们的监视/编译周期完成时,他们将继续触发完成处理程序.
服务器任务取决于客户端任务输出,所以我需要这些操作是同步的,因此 done
function onBuild(done) {
return function(err, stats) {
if(err) {
gutil.log('Error', err);
if(done) {
done();
}
} else {
Object.keys(stats.compilation.assets).forEach(function(key){
gutil.log('Webpack: output ', gutil.colors.green(key));
});
gutil.log('Webpack: ', gutil.colors.blue('finished ', stats.compilation.name));
if(done) {
done();
}
}
}
}
//dev watch
gulp.task('webpack-client-watch', function(done) {
webpack(devConfig[0]).watch(100, function(err, stats) {
onBuild(done)(err, stats);
});
});
gulp.task('webpack-server-watch', function(done) {
webpack(devConfig[1]).watch(100, function(err, stats) {
onBuild(done)(err, stats);
nodemon.restart();
});
});
gulp.task('webpack-watch',function(callback) {
runSequence(
'webpack-client-watch',
'webpack-server-watch',
callback
);
});
gulp.task('nodemon', ['webpack-watch'], function() {
nodemon({
script: path.join('server/dist/index.js'),
//ignore …
Run Code Online (Sandbox Code Playgroud) 因此,Tekton Pipelines允许您创建单独的任务并将它们连接到云原生 ci/cd 管道中。它太酷了。但正如你所想象的那样,你认为很简单的事情其实很棘手。例如,我试图将 Kaniko 执行程序作为任务运行,但该执行程序需要特定参数。我可以对这些 args 进行硬编码,但这会降低任务的可重用性,因此我希望之前的任务只是从源和输出读取配置文件,或者为后续任务设置 env 变量。不知道如何做到这一点。就 Kaniko 而言,它真的很棘手,因为您没有任何外壳或任何东西。有什么建议?
这是他们文档中的一个示例任务,我对其进行了调整以显示我正在尝试做的事情。
apiVersion: tekton.dev/v1alpha1
kind: Task
metadata:
name: example-task-name
spec:
inputs:
resources:
- name: workspace
type: git
params:
- name: pathToDockerFile
type: string
description: The path to the dockerfile to build
default: /workspace/workspace/Dockerfile
outputs:
resources:
- name: builtImage
type: image
steps:
- name: ubuntu-example
image: ubuntu
args: "export FOO=bar"
- image: gcr.io/example-builders/build-example
command: ["echo $FOO"]
Run Code Online (Sandbox Code Playgroud) 我有一个 100K 行的 sqlite 数据库。但是,随着时间的推移,其中一些行已被删除,因此主键不再是连续的。现在,它们的顺序是 3,5,6,9,900,n...
问题是我想将这些放在 UITableView 中,cellForIndexRowAtIndexPath 为 0,1,2,3 等。有没有办法我可以做类似的事情
SELECT * FROM table WHERE id = 0;
Run Code Online (Sandbox Code Playgroud)
但我想选择 0 处的索引位置,而不是 id = 0;
SELECT * FROM table where table._table_index = 0; //don't try this at home
Run Code Online (Sandbox Code Playgroud)
谢谢!
我似乎无法找到一个简单有效的解决方案来解决我在 Go 模板/Helm 中经常出现的问题。基本上,给定一个 values.yaml 如下:
ingress:
hosts:
- host: busy-a.local
paths:
- backend:
serviceName:busy-a
servicePort: 80
path: /busy/[A-Z0-9]{1}
Run Code Online (Sandbox Code Playgroud)
和这样的模板/ingress.yaml:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: {{.Values.project}}-ingress
annotations:
nginx.ingress.kubernetes.io/use-regex: "true"
spec:
rules:
{{- range .Values.ingress.hosts }}
- host: {{ .host | quote }}
http:
paths:
{{- range .paths }}
- path: {{ .path }}
backend:
serviceName: {{ .backend.serviceName }} # this works
servicePort: {{ .backend.servicePort }} # but can we shorthand backend?
{{- end }}
{{- end }}
Run Code Online (Sandbox Code Playgroud)
但是,那岂不是更容易“解包”中backend …
我试图用数据方法做这样的事情:
$("body").data("bar", { myType: "test", count: 40 });
Run Code Online (Sandbox Code Playgroud)
但是,我似乎无法像这样设置"计数":
$("body").data(bar["count"], 41);
Run Code Online (Sandbox Code Playgroud)
我的语法错了吗?
reactjs ×3
javascript ×2
node.js ×2
chai ×1
curl ×1
ecmascript-6 ×1
enzyme ×1
go ×1
go-templates ×1
gulp ×1
html5 ×1
http ×1
ios8 ×1
java ×1
jquery ×1
meteor ×1
mocha.js ×1
react-router ×1
sqlite ×1
tekton ×1
testing ×1
uitableview ×1
webpack ×1