我一直收到警告:
此应用程序是使用iOS 11.4 SDK构建的.从2019年3月开始,提交到App Store的所有iOS应用必须使用iOS 12.1 SDK或更高版本构建,包含在Xcode 10.1或更高版本中.
...当我上传到应用商店时.
我运行Xcode 10.1,并且我还将基本SDK设置为12.1,如截图所示,但在归档和上传后仍然会收到警告.还有什么我需要做的吗?部署目标是9.0.
根据路径设置React Component状态的标准方法是什么?我有以下React/Backbone示例:
var myApp = React.createClass({
render: function() {
return (
<div className={this.state}></div>
);
}
})
var App = Backbone.Router.extend({
routes: {
"": "home",
"create": "create"
}
});
var app = new App();
app.on('route', function(page) {
// How do I set state on myApp??
})
React.renderComponent(<myApp />, document.body);
Backbone.history.start();
Run Code Online (Sandbox Code Playgroud)
我相信我需要能够myApp从外部设定状态,但是如何?我找不到任何关于此的例子.
或许我在这里想错了方向,有没有更好的方法与React一起组织路线?
在盖茨比(Gatsby)构建我们的生产应用程序时,我会看到以下内容:
window.___chunkMapping={
"app":[],
"component---src-templates-page-tsx":[],
"component---src-templates-pages-newsletter-tsx":[]
}
Run Code Online (Sandbox Code Playgroud)
是否可以对这些路径进行散列而不是将其打印出来?我们不想从背后发生的事情中暴露太多。
我尝试在webpack中设置这些配置:
output: {
filename: `[chunkhash:2][contenthash:5].js`,
chunkFilename: `[chunkhash:2][contenthash:5].js`,
},
Run Code Online (Sandbox Code Playgroud)
并且它成功地哈希了.js文件,但没有哈希到模板路径。
在状态发生变化后,是否可以检索初始状态?F.ex:
React.createClass({
getInitialState: function() {
return { foo: 'bar' }
},
componentWillMount: function() {
this.setState({ foo: 'foo' })
},
componentDidMount: function() {
// get the initial state "bar" ?
}
})
Run Code Online (Sandbox Code Playgroud)
我在文档中找不到任何内容.我当然可以将值保存在外部变量中,但如果可以将初始状态视为可以重用的"配置"对象,我只是好奇.
我试图requestFrame根据我知道速度 (v) 和我想要行进的距离这一事实来计算循环中的衰减或速度。我也知道ms每一帧的。
所以一个简单的衰减算法是:
velocity *= 0.9
这会平滑而漂亮地减慢速度,但我希望动画元素停在给定位置(对齐网格)。那么如何准确计算减速度呢?
层叠动态样式表时,IE 中似乎存在错误。有谁知道是否有解决方法?考虑一下:
<head>
<style>#test{background:red;}</style>
</head>
<body>
<div id="test">test</div>
<script>
var link = document.createElement('link');
var style = document.getElementsByTagName('style')[0];
link.rel = 'stylesheet';
link.href = 'test.css';
style.parentNode.insertBefore(link, style);
</script>
</body>
Run Code Online (Sandbox Code Playgroud)
注入的“test.css”包含#test{background:green}.
即使我们将 放在标签<link>之前<style>,IE7+ 也会使用注入的样式表覆盖样式并应用绿色作为背景。
FF/Chrome 以正确的方式执行此操作,并让样式标签优先于注入的链接标签,以便背景保持红色。
我有一个可拖动项目列表,我希望能够将它们拖到可排序的内容块上.这是我的标记:
<div class='items'>
<div class="one">One</div>
<div class="two">Two</div>
</div>
<div class="content">
<div class="block">Foo</div>
<div class="block">Bar</div>
</div>
Run Code Online (Sandbox Code Playgroud)
问题是,我希望拖动的项目在拖动开始时"成为"一个块,并在它被删除时保持一个块.我试过这个:
$('.items div').draggable({
helper: function(e) {
return $('<div>').addClass('block').text( $(e.target).text() );
},
connectToSortable: ".content"
});
$('.content').sortable();?
Run Code Online (Sandbox Code Playgroud)
小提琴:http://jsfiddle.net/MF4qu/
但即使我创建一个看起来像块的自定义帮助器,它一旦被删除就会恢复到原始拖动的元素.有谁知道如何在我的示例页面中正确插入一个块?我已经查看了UI API,但我无法弄明白.
?
Run Code Online (Sandbox Code Playgroud) 如果我有这样的功能:
function a() {
console.log('a');
}
Run Code Online (Sandbox Code Playgroud)
然后分配一个这样的静态属性:
a.static = 'foo';
Run Code Online (Sandbox Code Playgroud)
但是说我想用另一个函数覆盖这个函数,如下所示:
var old = a;
a = function() {
console.log('new');
old.call(this);
};
a.static // undefined
Run Code Online (Sandbox Code Playgroud)
由于我分配了一个新函数a,它的静态属性会丢失.是否有一种简洁的方法来保持静态属性而不循环并手动复制它们?
更新:
这是一个真实世界的场景:在Bootstrap jQuery插件中,作者将默认值分配给属性函数,如下所示:
$.fn.modal = function() {
// some code
};
$.fn.modal.defaults = { // some object };
Run Code Online (Sandbox Code Playgroud)
因此,如果我想"扩展"我通常会做的原型:
var old = $.fn.modal;
$.fn.modal = function() {
// do my thing
old.apply(this, arguments);
}
Run Code Online (Sandbox Code Playgroud)
但那样会
$.fn.modal.defaults === undefined
Run Code Online (Sandbox Code Playgroud)
这将破坏功能,因为默认值会丢失.我想知道在javascript中是否有一种偷偷摸摸的方式来改变功能 而不会丢失静态属性.
假设我要创建以下API:
var api = function(){}
api.prototype = {
constructor: api,
method: function() {
return this;
}
};
Run Code Online (Sandbox Code Playgroud)
现在,这将工作如下:
var myApi = new api();
myApi.method();
Run Code Online (Sandbox Code Playgroud)
但是,假设我想让new关键字成为可选的,这样就可以了:
api().method();
Run Code Online (Sandbox Code Playgroud)
我会出于自己的想法:
var api = function() {
if ( !(this instanceof api) ) {
return new api();
}
};
Run Code Online (Sandbox Code Playgroud)
但我想知道,这可能会以某种方式轻易被感染,或者使用这种方法还有其他危险吗?我知道f.ex jQuery不会这样做(他们将构造函数卸载到原型方法),所以我确信有充分的理由不这样做.我只是不认识他们.
我在许多地方看到了以下逻辑,f.ex分析脚本:
script.src = ('https:' == document.location.protocol ? 'https' : 'http') +
'://example.com/cdn.js';
Run Code Online (Sandbox Code Playgroud)
但据我所知,您也可以这样做:
script.src = '//example.com/cdn.js';
Run Code Online (Sandbox Code Playgroud)
它应该使用当前使用的任何协议.或者我错过了什么?什么被认为是"最佳实践"?
我不是在寻找浏览器兼容性答案,谷歌已经建议//使用CDN脚本,所以在这里不应该这样.
这是一个小提琴,但它并没有说它似乎在这个设置中工作:http://jsfiddle.net/6ZGyb/
javascript ×9
constructor ×2
jquery ×2
reactjs ×2
animation ×1
app-store ×1
backbone.js ×1
css ×1
css-cascade ×1
draggable ×1
droppable ×1
extend ×1
function ×1
gatsby ×1
jquery-ui ×1
load ×1
math ×1
new-operator ×1
node.js ×1
protocols ×1
require ×1
sdk ×1
static ×1
url-routing ×1
velocity ×1
webpack ×1
xcode ×1