小编Rya*_*yan的帖子

如何编写扩展功能组件的 ES6 类 React 组件?

我知道在香草ES6你可以写一个classextendSA功能类。这是解释here

React 通过extending支持 ES6 类组件React.Component和功能组件。但是,在尝试extend使用功能组件时出现以下错误。

TypeError: Cannot call a class as a function
Run Code Online (Sandbox Code Playgroud)

我正在尝试编写一些扩展组件适用于 ES6 类组件和功能组件的代码。我想编写一个返回组件的函数,但我只想扩展和修改一些道具而不是高阶组件。

下面是一些我尝试过但不起作用的示例代码。这可能吗?我意识到BarExtended根本不会渲染Bar,但我只是在测试。除非这是问题的一部分。

function Bar() {
    return (
    <h1>Bar</h1>
  );
}

class BarExtended extends Bar {
    render() {
    return (
        <h1>BarExtended</h1>
    );
  }
}

ReactDOM.render(
    <div>
    <BarExtended />
    </div>,
  document.getElementById("foo")
);
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 reactjs

9
推荐指数
1
解决办法
2万
查看次数

xcode 4.4中的自动属性如何合成?

我是Objective-C和XCode的新手,但我很高兴看到XCode 4.4现在自动为我合成了我的属性.我认为这意味着我不再需要输入@synthesize作为我的属性,并且我可以使用它来访问它们self.propertyName = @"hi";,例如.

我正在尝试重新编写一些示例代码,以便我能更好地理解它,但是这段代码实现了一个自定义的getter方法.在示例代码中,属性是手动合成的,如@synthesize managedObjectContext = __managedObjectContext;.自定义getter看起来像这样:

- (NSManagedObjectContext *)managedObjectContext {
    if (__managedObjectContext != nil) {
        return __managedObjectContext;
    }

    NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];
    if (coordinator != nil) {
        __managedObjectContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType];
        [__managedObjectContext setPersistentStoreCoordinator:coordinator];
    }

    return __managedObjectContext;
}
Run Code Online (Sandbox Code Playgroud)

在这个人的代码中,我看到他只是使用他的手动合成访问器来获取和设置.我想在我的代码,我可以只更换__managedObjectContextself.managedObjectContext,但没了.如果我这样做,我会收到一个错误,告诉我我正在尝试分配给一个readonly属性.这是有道理的,因为该属性被其他编码器定义为只读.

@property (readonly, strong, nonatomic) NSManagedObjectContext *managedObjectContext;
Run Code Online (Sandbox Code Playgroud)

所以,我想一下他如何手动合成他的属性意味着如果他使用指定的setter,它允许他以某种方式设置readonly属性.

如果我手动合成属性,就像我引用的代码一样,一切都恢复正常,但是没有使用新的自动合成.如果我删除了readonly,我可以像预期的那样设置这个属性,但是我觉得我不明白他为什么只读它,所以我打赌我在那里打破了一些东西.

那么,我是否误用了新的自动合成?如果自动合成不是为我创建的话,我如何使用setter设置它,因为readonly?

谢谢

xcode properties ios

8
推荐指数
1
解决办法
5955
查看次数

如何使用HTML显示100,000行或更多行的数据库查询结果?

我们正在重写我们客户使用的网站.用户流量非常低,每周不到100位唯一身份访问者.它基本上只是我们数据库中数据的一个很好的接口.它允许他们查询和过滤他们的不同数据集.

我们用Python重写网站,重新使用当前数据所在的Oracle数据库.当前版本是用旧版的Coldfusion编写的.尽管Coldfusion做得不错,但它在一个页面上显示了大量的数据库记录.它能够一次显示数十万行而不会崩溃浏览器.它使用Java applet,看起来行的内容可能被压缩并通过HTML或其他东西传入.HTML中有一大块数据,但它没有显示 - 它只是由Java applet呈现.

我已经尝试了几种Javascript解决方案,但它们都依赖于这样一个事实,即数据将出现在HTML表格中或者沿着这些行.这会导致浏览器冻结并耗尽内存.

有谁知道这种情况的任何解决方案?我们的客户喜欢滚动浏览所有这些数据而无需点击"下一页"链接.

谢谢Ryan

html python oracle coldfusion

7
推荐指数
1
解决办法
2663
查看次数

node.js,setTimeout回调方法和"this"

我正在尝试使用NodeJS编写一个简单的轮询应用程序.我想编写一个EventEmitter对计时器执行操作并根据该周期性操作的结果发出事件.

我首先创建自己的对象并继承自EventEmitter.我使用了启动计时器setInterval,并在计时器结束后指定要调用的方法.在计时器回调方法中,我想引用我创建的对象的变量,但this似乎没有引用该对象.

如何在此方法中引用我的变量?这是我的代码:

var util = require('util'),
    events = require('events'),
    timers = require('timers'),
    redis = require('redis');

// define worker object
var JobPoller = function () {
    // inherit event emitter
    events.EventEmitter.call(this);

    // save reference to database
    this.db = redis.createClient();

    // start main loop
    this.interval_id = timers.setTimeout(this.check, 1000);
};

JobPoller.prototype.check = function () {
    // pop a job off the queue if possible
    this.db.rpop('pdf-job-queue', function (err, result) {  
        if (err != null)
            this.emit('error', …
Run Code Online (Sandbox Code Playgroud)

javascript timer callback node.js

7
推荐指数
1
解决办法
7028
查看次数

我应该让我的CouchDB数据库服务器面向公众吗?

我是新手,CouchDb并试图理解如何正确使用它.我来自MongoDB哪里,我总是写一个web层并把它放在mongo前面,以便我可以允许用户访问其中的数据等.事实上,这就是我如何使用所有数据库的我写过的网站.所以,看看Couch,我发现它的原生API是HTTP,它内置了OAuth支持等内容,以及其他暗示我的功能,也许我不应该让我的代码层位于Couch前面,而是写Views和东西,只是给我的用户Couch帐户?我正在考虑像我的网站的基于HTTP的API,或用户将通过我的数据消费的东西.尽管如此,打开这样的Couch对我来说似乎很奇怪.从Couch的意义上来说,OAuth对于我正在编写并在我自己的网络内部"正式"运行的软件的远程访问意味着什么,或者它是否真正意味着最终用户?

我知道有些事情只能通过CouchDB上的代码层完成,就像你想在API请求期间发生其他非数据库相关的事情一样.因此,按照这些思路思考,无论如何我仍然需要一个代码层.

architecture model-view-controller couchdb heuristics

7
推荐指数
1
解决办法
648
查看次数

为什么setEditing:animated:和insertRowsAtIndexPaths:导致这个奇怪的编辑风格动画?

我有一个UITableView我正在切换setEditing:animated:的东西,允许用户插入和删除行.当打开编辑时,我希望将新insert new item行添加到表中,然后我希望编辑控件以正常方式进行动画处理.我不希望新insert new item行使用类似淡入淡出的东西自行制作动画.我希望它只是出现,然后像任何现有的表数据源行一样滑入.

以下是我当前代码所发生的情况(点击查看大图):

顶行做了我想要的 - 它只是滑过,删除图标淡入.当它消失时,删除图标淡出,行再次展开.

第二行是我自己添加到表中的非数据源行.在出现时,它根本没有动画.插入图标和行一次显示,不会滑入.当它消失时,行会很好地展开,但加号图标会随之滑动.动画正在发生整个行,而不是加号图标,然后单独行,如第一行.

这是我的代码的快速破坏,但我认为提供类文件的链接可能会更好.

按下工具栏上的编辑按钮时,我调用我的UIViewController方法setEditing:animated:.在这种方法中,我做了以下......

- (void)setEditing:(BOOL)editing animated:(BOOL)animated {

    [super setEditing:editing animated:animated];

    // keep the table in the same editing mode
    [_table setEditing:editing animated:animated];

    if (editing) {

        [_table insertRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:_channels.count inSection:0]] withRowAnimation:UITableViewRowAnimationNone];

    } else {

        [_table deleteRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:_channels.count inSection:0]] withRowAnimation:UITableViewRowAnimationNone];

    }

}
Run Code Online (Sandbox Code Playgroud)

这是插入动画发生的地方.我已经尝试在[_table beginUpdate]和endUpdate中包装整个内容,以及只插入行.似乎都没有产生我想要的干净动画.

我可能会缺少什么想法?整个代码文件在这里:

https://github.com/ryancole/pound-client/blob/master/pound-client/controllers/ChannelListViewController.m#L106-L127

uitableview ios

7
推荐指数
1
解决办法
1368
查看次数

Xamarin需要Mac才能编译,但那里有远程Mac服务,所以我不需要一个?

我一直想尝试Xamarin很长一段时间,但据我所知,你需要一台Mac来编译.所以,用外行人的话说,它有点像CoffeeScript或TypeScript,因为它编译成实际的目标语言输出,为此它仍然需要Mac.如果那是它的原因那么我完全理解.

我的问题是,是否有基本上像我自己的Mac,但通过互联网的服务?我可以每月只为他们的Mac构建服务器支付费用,并将Xamarin连接到它吗?

xamarin

7
推荐指数
2
解决办法
5725
查看次数

resolve函数的context和rootValue参数的预期用例是什么?

0.5.0graphql-js 的发布包含对resolve函数的重大更改- 它现在接收一个额外的context参数.

它看起来像是context用于携带用户会话数据.rootValue现在参数的用例是什么?

graphql

7
推荐指数
1
解决办法
993
查看次数

C#是否有内置的方法来限制函数的调用次数?

我有一个执行HTTP请求的函数.我在我编写的一个简单程序中使用了这个函数.我需要限制这些HTTP请求,以便我不超过速率限制.在JavaScript世界中,有一个非常方便的第三方库,它提供了一个throttle函数,它返回一个调用你自己的函数的新函数,但会将调用排队,这样它们每分钟只发生X次或其他什么.

有没有内置的C#方式,或者这个方便的模式或nuget pkg?

c#

7
推荐指数
2
解决办法
4726
查看次数

如何将Azure DocumentDB Document类转换为POCO类?

有没有一种方法可以将Microsoft.Azure.Documents.Document对象转换为我的类类型?

我用编写了一个Azure函数类CosmosDBTrigger。触发器接收的数组Microsoft.Azure.Documents.Document。我喜欢使用Document该类,以便可以访问有关记录本身的元数据,但是我也想以静态方式与我的类类型中的数据进行交互。

调用时,我看到了数据的JSON表示形式ToString。是否应该使用Newtonsoft将JSON手动转换为我的类类型?

c# azure azure-cosmosdb

7
推荐指数
2
解决办法
2043
查看次数