小编Sid*_*ury的帖子

Javascript从一组URL中派生出一个树

伙计们正在尝试创建一个动态菜单列表.用户可以创建的元素深度没有限制.

我的问题

我的URL设置如下所示

var json_data = [
    {
        "title" : "Food",
        "path" : "/root",
    },
    {
        "title" : "Cloths",
        "path" : "/root",
    },
    {
        "title" : "Veg",
        "path" : "/root/Food",
    },
    {
        "title" : "Brinjal",
        "path" : "/root/Food/Veg",
    },
    {
        "title" : "T shirt",
        "path" : "/root/Cloths",
    },
    {
        "title" : "Shirt",
        "path" : "/root/Cloths",
    },
    {
        "title" : "Green brinjal",
        "path" : "/root/Food/Veg/Brinjal",
    }
];
Run Code Online (Sandbox Code Playgroud)

我想要titles采用层次结构格式,我最终将以ul > li创建菜单的形式呈现- 在前端.

层次结构应该是这样的:

[
  {
    "title": "Food",
    "path": …
Run Code Online (Sandbox Code Playgroud)

javascript json node.js

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

Node.js,基于日期时间的提醒

我建立一个SaaS应用程序,在用户登录并为特定的日期和时间创建提醒在将来,当时间得到满足,我的应用程序负责提醒各用户关于他/她在已经设置了提醒过往

示例: 假设用户"Foo"登录并在 2018 年 4 月 27 日下午 2:30(未来的日期时间)创建提醒。

我的应用程序应该"Foo"像任何其他提醒应用程序一样在该确切日期时间发送电子邮件。

像这样,可以为数百个用户提供数千个 ACTIVE 提醒。

技术

节点.js

我试过的

我尝试过像node-schedule和其他 cron-job 解决方案这样的软件包,但我相信/发现 - Cron-jobs 不是为解决像我这样的问题而设计的。

请帮我解决。谢谢

cron reminders scheduled-tasks node.js

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

如何在Sails.js中获取ObjectID?

我正在使用 sails-hook-orm-mongoose我的应用程序与 MongoDB 进行对话。我在谷歌中没有找到任何官方文档或任何线索,它可以告诉我如何获取ObjectID

在 Express.js 中,我曾经这样获取 ObjectID:

var ObjectId = require('mongodb').ObjectID;

在我的情况下如何获取ObjectId

mongoose mongodb node.js sails.js

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

Mongoose + Node.js,Object.assign(从数据库返回的数据副本)显示附加数据

今天我发现了一个有趣的事情,我以前从来不知道。我需要帮助来理解为什么会发生这种情况:

User.findOne({email: req.body.email}, function(err, usr){
     return res.json({
          RAW: usr,
          COPY: Object.assign({}, usr, {some: 'change'})
     }) 
})
Run Code Online (Sandbox Code Playgroud)

这个产量

{
    "RAW": {
        "createdAt": "2018-06-25T09:16:35.516Z",
        "_id": "5b30b2f36c492c55a818b455",
        "email": "some@email.com",
        "password": "$2b$08$k5IRBF.1i.q.7D/BD4HCVuOdnIRDQOHaT6icNwIyc1XfeklUwyF5.",
        "__v": 0
    },
    "COPY": {
        "$__": {
            "strictMode": true,
            "selected": {},
            "getters": {},
            "_id": "5b30b2f36c492c55a818b455",
            "wasPopulated": false,
            "activePaths": {
                "paths": {
                    "createdAt": "init",
                    "_id": "init",
                    "email": "init",
                    "password": "init",
                    "__v": "init"
                },
                "states": {
                    "ignore": {},
                    "default": {},
                    "init": {
                        "_id": true,
                        "email": true,
                        "password": true,
                        "createdAt": true,
                        "__v": true
                    },
                    "modify": …
Run Code Online (Sandbox Code Playgroud)

javascript mongoose mongodb node.js

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

rxjs v6/redux-observable v1.0.0:运算符不能用于史诗

我使用的是最新版本的redux-observable和Rxjs ie

// My version
"redux-observable": "^1.0.0",
"rxjs": "^6.3.2"
Run Code Online (Sandbox Code Playgroud)

商店 - 中间件,设置如下:

// Setting up middlewares
import { pingEpic } from './epics';
import pingReducer from './reducers/pingReducer';

import { combineReducers, createStore, applyMiddleware } from 'redux';
import { combineEpics, createEpicMiddleware } from 'redux-observable';

const rootReducer = combineReducers(pingReducer);
const rootEpic = combineEpics(pingEpic);

const epicMiddleware = createEpicMiddleware();

const store = createStore(rootReducer,
    applyMiddleware(epicMiddleware)
);

epicMiddleware.run(rootEpic);
export default store;
Run Code Online (Sandbox Code Playgroud)

我的史诗看起来像这样

// pingEpic.js
import { mapTo } from 'rxjs/operator/mapTo';
import { ofType } from 'redux-observable';
export const …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-redux redux-observable rxjs6

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

GraphQL突变:不变违反:必须包含查询定义

我正在尝试mutation从React应用程序调用我的graphQL服务器。react代码如下所示:

client.query({
  query: gql`
    mutation{
        addTeam(input:{name:"Somename", label:"somelabel"})
        {error, status}
    }`
 }).then((resp: any) => {
      console.log("Success", resp);
 }).catch(err => {
      throw err;
 })
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

在此处输入图片说明

但是,如果我将相同的请求从更改mutationquery,并在node-graphQL-server中进行必要的更改以处理该请求,query而不是mutation使用相同的代码。

Apollo-Client Mutation 文档说

在GraphQL中,变异与语法查询相同,唯一的区别是您使用关键字mutation而不是query...

哦,顺便说一句,相同的mutation查询在中工作Playground。请帮助大家,我的工作有点停止了这个问题。

谢谢!

reactjs graphql apollo-client

4
推荐指数
1
解决办法
4428
查看次数

React.js:渲染前从嵌套 JSON 动态创建复杂 DOM

最近,我试图解决一个问题,我必须从来自请求调用的嵌套 JSON 呈现文档树菜单(分层)。

假设我的 JSON 看起来像这样

[{
    "title": "Food",
    "path": "/root",
    "children": [{
        "title": "Veg",
        "path": "/root/Food",
        "children": [{
            "title": "Carrot",
            "path": "/root/Food/Veg",
            "children": [{
                "title": "Ooty carrot",
                "path": "/root/Food/Veg/Brinjal",
                "children": []
            }]
        }]
    }]
}, {
    "title": "Cloths",
    "path": "/root",
    "children": [{
        "title": "T shirt",
        "path": "/root/Cloths",
        "children": []
    }, {
        "title": "Shirt",
        "path": "/root/Cloths",
        "children": []
    }]
}]
Run Code Online (Sandbox Code Playgroud)

我必须从上面的 JSON 创建以下 DOM

在此输入图像描述

通过jQuery解决:

我已经准备好将 JSON 转换为 DOM 的函数:在正常的 jQuery 中,我会执行如下操作:

$(function(){
    function get_tree(tree_data){
      dom += '<ul>';
      for(var i …
Run Code Online (Sandbox Code Playgroud)

javascript json reactjs

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

Enzyme:在模拟“点击”时,测试异步改变的状态值

我正在尝试测试一个state值(例如:),该值state.name在单击按钮时异步更改。

最初

  • state.name"Random Value"
  • 按钮被点击 state.name的变化"peter""Random Value"
  • 在浏览器中按预期工作
  • 需要它button.simulate('click')在我的测试中工作相同

我的组件App.js

import React, { Component } from 'react';

class App extends Component {
    state = {name: "Random Value"};
    render() {
        return (
            <div className="App">
                <div>{this.state.name}</div>
                <button onClick={this.handleClick}>GetData</button>
            </div>
        );
    }

    handleClick = () => {
        const currentContext = this;
        fetch('http://api-call/getdata')
            .then(function(response) {
                return response.json();
            })
            .then(function(jsonData) {
                // jsonData.name = "peter"
                currentContext.setState({name: jsonData.name});
            }) …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs jestjs enzyme create-react-app

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