我正在围绕Auth0锁小部件的实现做一些业务逻辑,并且需要调用一些graphql突变来登录.在这种情况下,没有要呈现的UI,因为它只是调用Auth0的lock.show()方法.但是,查看所有带有react的apollo客户端示例 - graphql方法似乎将函数绑定到组件.
我似乎还记得看到一个捷径,如果属性和构造函数参数被命名为相同的东西,则不必在构造函数中执行this.foo赋值-但我似乎找不到它的引用。
例如:
class Polygon {
constructor(height, width) {
this.height = height;
this.width = width;
}
}
Run Code Online (Sandbox Code Playgroud)
你能做些类似的事情吗
class Polygon {
constructor(height=height, width=width) {
// wasn't there a way to declare these arguments so it auto sets the instance variables?
}
}
Run Code Online (Sandbox Code Playgroud) 我需要将图像文件从react本机应用程序放置到预先配置的s3上传URL中。我看到了一个带有fetch的示例,该示例通过路径将图像上传为二进制文件,但它是作为多部分表单上传进行的。由于s3上传网址只能将其作为主体中的原始二进制文件使用-而不作为多部分的内容类型,因此使用fetch或其他任何其他在本机中运行的库将原始二进制图像作为主体放置成什么语法?
以下代码将其上传为表单数据-这不是我想要的。
var photo = {
uri: response.uri,
name: fileName,
};
const body = new FormData(); // how can I do this not as a form?
body.append('photo', photo);
const results = await fetch('https://somes3uploadurl.com, {
method: 'PUT',
body,
});
Run Code Online (Sandbox Code Playgroud) 使用带有反应原生的tcomb-form-native库 - 我将keyboardType设置为email-address.如何在表单中添加正则表达式或电子邮件验证程序?我是否必须在提交函数上执行此操作(并抛出一个特殊错误?)或者是否可以使用库设置正则表达式验证字段?
我注意到tcomb-validation https://github.com/gcanti/tcomb-validationlibrary有一个RegExp类型字段 - 但我没有看到任何如何使用它的例子.显示的示例似乎测试字段是否是正则表达式模式,这是一个令人困惑的用例,因为您通常希望针对正则表达式模式测试字段,而不是将正则表达式模式输入字段.
每当屏幕出现时,我都想在反应原生应用程序中刷新屏幕上的数据 - 就像在ViewWillAppear方法中一样.我尝试使用该componentWillMount方法,但看起来它在它出现之前触发一次,并且当视图再次导航时不会再次触发.
看看这个例子https://reactnavigation.org/docs/guides/screen-tracking,看起来我可以onNavigationStateChange在根导航上的方法上添加一个监听器,但我想将逻辑保留在屏幕上,因为它如果我将外部的一个scree的数据获取逻辑移到根导航器中,会让人感到困惑.
我试图按照示例将该方法设置为我的stacknavigation但它似乎没有触发.
<RootNavigation ref={nav => { this.navigator = nav; }}
onNavigationStateChange={(prevState, currentState, action) => {
// maybe here I can fire redux event or something to let screens
// know that they are getting focus - however it doesn't fire so
// I might be implementing this incorrectly
const currentScreen = getCurrentRouteName(currentState);
const prevScreen = getCurrentRouteName(prevState);
if (prevScreen !== currentScreen) {
console.log('navigating to this screen', currentScreen);
}
}}
/>
Run Code Online (Sandbox Code Playgroud) 我想使用自定义标记图像而不是脉冲蓝点 - 有没有办法在使用用于 ios 的苹果地图和用于 Android 的谷歌地图的反应原生地图中自定义它?
- 更新:我决定试试AFNetworking.尽管RestKit具有非常好的对象映射功能,但网络调用的设计方式使我们遇到了一些困难.
我希望有关如何组织使用RestKit的项目的一些建议.
我从存储库类中进行了几次REST调用,并将其结果传递给控制器.例如,我在存储库类中有一个getProfile方法,它从我们的浏览视图控制器调用.视图控制器被设置为get profile调用的委托,而repository类被设置为restkit调用的委托.
问题是如果浏览控制器发出多个获取配置文件请求,则很难区分哪个结果应该转到哪个委托函数,因为所有的restkit调用共享相同的委托方法objectLoaderDidFinishLoading.然后,我有4个代表,我必须匹配4个异步restkit请求的结果.
有没有什么方法可以使用块,以便我可以传递一个函数来执行asnynrhounous结果回来,以便我可以分配一个适当的委托?我看到的块支持允许在休息工具包中发出请求之前使用块,但我有兴趣在返回异步结果时使用它.
检查结果或设置用户数据以及调整委托与异步结果相似的替代方案似乎不可靠和笨重.
我目前有一个使用mongodb的社交游戏应用程序用于它的数据库.我的问题是,如果我想创建一个积分和徽章系统,有什么建议.成就/徽章的业务逻辑可能变得非常复杂并且非常特别,因此实时授予徽章似乎效率不高.我想象将跟踪的动作添加到某个地方的队列,即Amazon SQS,或者只是将用户的活动源作为队列使用,并让另一个离线工作进程通过,只处理每个动作/活动的效果,看看是否有阈值任何特定徽章都是划线的.
我对这种方法的担心是,徽章查询似乎变得非常密集,我还必须跟踪大量的操作.我可以设想一些成就,例如过去4周内每周获得第二名的人的徽章,或者在50个州的每一个中都有朋友的人的徽章......等等......
对于这种类型的东西,有更优雅或经过验证的方法吗?除了mongo之外,使用另一个数据库作为成就/活动供稿/排行榜是否有意义,创建一个mongo/other db hybrid环境?
像Redis,Neo4J这样的选择,还是普通的旧SQL Server都是混合解决方案的不错选择?我喜欢Mongo所以它将作为我们的主要数据库,但很想知道是否添加另一个数据库将有所帮助.
我注意到,当您部署到heroku时,heroku具有内部版本号,即v251。有什么办法可以从我的应用程序中读取它,也许是环境变量?我在他们的雪松堆栈上有一个node.js应用程序。
我正在重新加载我的UIWebView,由于某种原因,stringByEvaluatingJavaScriptFromString中的代码似乎没有效果.它在初始视图加载时工作正常,但似乎不能重新加载.单步执行调试器后,我看到webViewDidStartLoad在重新加载后被调用,因此必须有另一个问题.
- (void)webViewDidStartLoad:(UIWebView *)webView
{
//pass in our default variables into the web view here
[mainWebView stringByEvaluatingJavaScriptFromString:@"var model = {taskId:'xyz', foo:'bar'};"];
}
Run Code Online (Sandbox Code Playgroud)
和我的重装方法
- (void)refreshView{
[mainWebView reload];
}
Run Code Online (Sandbox Code Playgroud) react-native ×3
javascript ×2
achievements ×1
amazon-s3 ×1
asynchronous ×1
badge ×1
ecmascript-6 ×1
fetch-api ×1
google-maps ×1
heroku ×1
ios ×1
ios5 ×1
mapkit ×1
mongodb ×1
neo4j ×1
objective-c ×1
react-apollo ×1
restkit ×1
tcomb ×1
validation ×1