小编Kit*_*ori的帖子

如何将Fabric.js与React一起使用?

我有一个通过Fabric.js使用大量HTML5画布的应用程序.该应用程序是在Angular 1.x 之上编写的,我计划将其迁移到React.我的应用程序允许编写文本和绘制线条,矩形和椭圆.还可以移动,放大,缩小,选择,剪切,复制和粘贴一个或多个这样的对象.也可以使用各种快捷方式缩放和平移画布.简而言之,我的应用程序充分利用了Fabric.js.

我找不到关于如何将Fabric.js与React一起使用的大量信息,所以我关注的是1.它是否可能没有重大修改,2.它是否有意义,或者我应该使用其他广泛的画布库对React有更好的支持?

我能找到的React + Fabric.js的唯一例子是react-komik,然而它比我的应用程序简单得多.我主要关心的是Fabric.js的事件处理和DOM操作,以及它们对React的影响.

似乎还有一个React的画布库,名为react-canvas,但与Fabric.js相比,它似乎缺少很多功能.

在React应用程序中使用Fabric.js时,我需要考虑什么(关于DOM操作,事件处理等)?

fabricjs reactjs react-canvas

42
推荐指数
4
解决办法
2万
查看次数

如何在加载路由时从无状态组件调度Redux操作?

目标:在加载反应路由器路由时,调度Redux操作,请求异步Saga工作程序获取该路由的基础无状态组件的数据.

问题:无状态组件仅仅是函数,没有生命周期方法,例如componentDidMount,所以我不能(?)从函数内部调度Redux操作.

我的问题部分与将有状态React组件转换为无状态功能组件有关:如何实现"componentDidMount"类功能?,但我的目标是仅发送一个Redux动作,要求将数据异步填充到商店(我使用Saga,但我认为这与问题无关,因为我的目标是仅发送一个普通的Redux动作),之后由于数据支柱的改变,无状态组件将重新渲染.

我正在考虑两种方法:使用react-router的一些功能,或Redux的connect方法.是否有一种所谓的"反应方式"来实现我的目标?

编辑:到目前为止我唯一提出的解决方案是在mapDispatchToProps中调度动作,这样:

const mapStateToProps = (state, ownProps) => ({
    data: state.myReducer.data // data rendered by the stateless component
});

const mapDispatchToProps = (dispatch) => {
    // catched by a Saga watcher, and further delivered to a Saga worker that asynchronically fetches data to the store
    dispatch({ type: myActionTypes.DATA_GET_REQUEST });
    return {};
};

export default connect(mapStateToProps, mapDispatchToProps)(MyStatelessComponent);
Run Code Online (Sandbox Code Playgroud)

然而,这似乎有点脏,而不是正确的方式.

reactjs redux-saga react-redux react-router-redux

28
推荐指数
3
解决办法
2万
查看次数

我应该如何使用Swagger和Hapi?

我有一个普通的Hapi应用程序,我打算迁移到Swagger.我使用官方指令安装了swagger-node,并在执行'swagger project create'时选择了Hapi.但是,我现在感到困惑,因为似乎有几个库用于集成swagger-node和hapi:

  1. hapi-swagger:最受欢迎的一个
  2. hapi-swaggered:有点流行
  3. swagger-hapi:不受欢迎而且不活跃但被官方Swagger Node.js库(即swagger-node)用作Hapi项目的默认值

我虽然swagger-hapi是"官方"的方法,直到我试图找到关于如何在Hapi路线上进行各种配置的信息(例如授权,范围等).似乎这些方法根本不同,swagger-hapi将Swagger定义作为输入并自动生成路径,而hapi-swagger和hapi-swaggered似乎通过仅从普通的旧Hapi生成Swagger API文档而具有相似的方法路线定义.

考虑到贡献者的数量和下载次数,hapi-swagger似乎是要走的路,但我不确定如何继续.是否有"官方"Swagger方式来设置Hapi,如果有,我如何设置身份验证(最好是使用hapi-auth-jwt2或其他类似的JWT解决方案)和授权?

编辑:我也发现了swaggerize-hapi,这似乎是由PayPal的开源kraken.js团队维护的,这表明它可能有某种企业支持(总是一件好事).swaggerize-hapi似乎与hapi-swagger非常相似,虽然后者似乎提供了更多开箱即用的功能(主要是Swagger Editor).

node.js swagger hapijs

16
推荐指数
1
解决办法
5153
查看次数

如何让 sendmail 在 Alpine Docker 容器中工作?

我只想发送简单的电子邮件用于测试目的,但是在容器内执行 sendmail 时,我得到sendmail: can't connect to remote host (127.0.0.1): Connection refused. 在 Alpine 容器内使用 sendmail 时需要考虑什么?

sendmail docker alpine-linux

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

如何为Neo4j实现基于Web的图形编辑?

我正在构建一个在Neo4j中存储语义图的应用程序.我希望有一个允许编辑图形的Web界面,例如通过几次点击和拖放来添加新关系,以及通过简单的弹出窗口编辑节点属性.

优选地,图形编辑器将基于JavaScript,但我也有兴趣了解其他选项(Flash,Java applet等).

Neo4j将处于服务器或嵌入式服务器模式.嵌入模式是不可接受的,因为我想使用Neo4j自己的Web界面访问服务器.

我也在努力寻找合适的Web框架.我主要经历过Rails,但最近我对Vaadin感兴趣,因为它提供了开箱即用的简洁UI组件.播放似乎也很好,但似乎没有那么多模块的最新版本.

所以我一直在考虑关注Web应用程序的框架:

玩得 好,主要是因为我喜欢Scala和Play似乎在最新版本中得到了很好的支持.但是,生态系统可能有点太小(支持,库的数量)?

Rails 我非常喜欢Rails.但是,我不知道Rails的任何图形插件或集成.也许我应该自己创建一个(从哪里开始?)?哪个JavaScript图形库适合Rails?

Vaadin 实际上我最近才遇到Vaadin.Vaadin具有良好的IDE支持和许多现成的UI组件.Vaadin似乎至少有一个体面的图形插件(Cytographer).我没有任何Cytoscape的经验或它如何与Neo4j一起工作,但..

我遇到的一些JavaScript库:

而且要说清楚:我不是在寻找一个图表工具,而是一个图形绘制和编辑工具,它与底层Web应用程序框架和Neo4j很好地集成.

ruby-on-rails neo4j vaadin graph-visualization playframework

5
推荐指数
1
解决办法
1943
查看次数

如何使用 TypeScript 实现对象验证?

我有一个 Express API 服务器应用程序和一个 React 客户端应用程序,它们都在 TypeScript 中实现。我使用 TypeScript 接口定义了我的数据模型,并且我在系统的两端都使用了这些接口。但是,TypeScript 接口只是编译时功能,我还需要运行时类型检查,例如验证 HTTP POST 数据 (json) 是否符合定义的数据结构。

所以我的问题是,我可以/应该如何利用 TypeScript 提供的功能来实现运行时对象验证?

javascript typescript ecmascript-6

5
推荐指数
1
解决办法
9179
查看次数