小编iRo*_*tia的帖子

TypeError:#<Promise>不可迭代

我试图使用promise.all进行多个api调用,但由于某种原因,它引发了以下错误

TypeError:#不可迭代

我的Promise很简单(这可能是我第二次使用Promise.all)

componentWillMount() {
    const id = this.props.location.pathname
    let axiosHome = axios.get('/home')
    let axiosUserData = axios.get("/profile/" + id)
    Promise.all(axiosHome,  axiosUserData).then(response => {
        console.log(response)
    }).catch(error => {
        console.log(error)
    })
  }
Run Code Online (Sandbox Code Playgroud)

问题:知道为什么我会出现此错误吗?另外,有人还能解释我们什么时候使用带有promise的resolve关键字吗?

javascript ajax promise reactjs es6-promise

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

使用三元表达式渲染组件

我去使用Ternary表达式渲染组件.

目前我正在做这样的事情

 <View style={container}>
          { this.state.loaded ? 
                            (<VictoryChart
                    theme={VictoryTheme.material}
                    >
                    <VictoryArea
                        style={{ data: { fill: "#c43a31" } }}
                        data={this.coinHistoryData} 
                        x="cHT"
                        y="cHTVU"
                        domain={{ y: [0, 30000] }}
                    />
                    </VictoryChart>)
          : (<Text> Loading..</Text>)}  </View>
Run Code Online (Sandbox Code Playgroud)

但这不起作用,并抛出一个错误说 Invariant Violation

ExceptionsManager.js:84未处理的JS异常:不变违例:不变违规:文本字符串必须在组件中呈现.

[问题:]如何修复它并在Ternary表达式中渲染整个组件

Ps:根据这个stackoverflow问题:当我们进行内联条件渲染时会发生这种情况.

javascript reactjs react-native

10
推荐指数
1
解决办法
319
查看次数

使用 github 操作缓存 npm 依赖项

我想缓存 npm 依赖项,这样我就不会在每次推送时都执行 npm install ,而是从缓存中加载它。

我认为 github 操作现在支持这个?:如何在 GitHub 操作中缓存步骤?

这里有几个案例

  • 如果package.json更改,这意味着yarn.lockpackage-lock.json更改了 npm install 和 update cache
  • 延长我的上述观点,投稿人可以做的都yarn installnpm install

从上述相同的问题,我将我的 github 操作更改为这样的

name: Tsc compilation test
on: [push, pull_request]
jobs:
  build:
    name: Build
    runs-on: ubuntu-18.04
    steps:
      - name: Checkout
        uses: actions/checkout@v2
      - name: Cache NPM dependencies
        uses: actions/cache@v1
        with:
          path: ~/.npm
          key: ${{ runner.OS }}-npm-cache-${{ hashFiles('**/package-lock.json') }}
          restore-keys: |
            ${{ runner.OS }}-npm-cache-
      - name: Install dependencies
        run: npm …
Run Code Online (Sandbox Code Playgroud)

caching github npm yarnpkg github-actions

10
推荐指数
1
解决办法
2688
查看次数

Surge 部署的 React 应用程序 - 找不到 404 页面

我有一个正在运行的应用程序 ( http://simple-pen.surge.sh )。这是使用 React/Redux 构建的前端和 Rails 构建的后端。当我进入网站时,我可以注册或登录并为用户颁发 JWT 令牌。登录后,我有一组可以查看的笔记本。但是,只有在单击笔记本时,我才会被重定向到 404 Page Not Found 错误。

我不确定为什么在向某些页面发出 GET 请求时出现错误。尝试访问“ http://simple-pen.surge.sh/notebooks/1/notes ”网址,但失败。在一种情况下,我设置了它,如果用户登录,“simple-pen.surge.sh”根路径会将用户重定向到他们的笔记本路由,即“ http://simple-pen.surge.sh/notebooks " 呈现页面,但是当我直接对该 URL 发出实际请求时,我会收到错误消息。

以下是分别指向 React 和 Rails 应用程序的 GitHub 存储库的链接。 https://github.com/jamesvphan/simplepen-react https://github.com/jamesvphan/simplepen

关于为什么会发生这种情况的任何帮助或知识都会很棒!

reactjs surge.sh

8
推荐指数
3
解决办法
6286
查看次数

模块导出 = 猫鼬模型在 NodeJs 中做什么

我即将进入前端 React 世界,并且主要使用诸如导入和导出之类的语句。

我知道有很多文章强调了我们如何在 nodeJS 中使用导入和导出,我也知道这可能与导入和导出无关。

无论哪种方式,我都开始学习后端 (NodeJs) 和 mongoDB。

我正在使用 express 框架和包名 mongoose。

在模型内部,我们创建了一个像这样简单的模式

const mongoose = require('mongoose')

const bookSchema = new mongoose.Schema({
    name: String,
    genre: String, 
    authorID: String
})


module.exports = mongoose.model("Books", bookSchema)
Run Code Online (Sandbox Code Playgroud)

虽然我明白我们在上面做什么,在上面创建一个架构并导出,但我无法理解导出语句

module.exports = mongoose.model("Books", bookSchema)
Run Code Online (Sandbox Code Playgroud)

就像,我知道它确实导出了猫鼬模式,但是是mongoose.model什么/意味着什么?比如幕后?

javascript mongoose mongodb node.js express

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

如何解决此“本地主机意外关闭连接”错误?

我正在阅读Chris Sevilleja 的“ Mean Machine:JavaScript 堆栈的初学者实用指南”。我的问题在第 60 页。根据本书的说明,我创建了一个小server.js文件以及package.json, 并用于npm install创建node_modules folder并用适当的模块填充它。当我运行“server.js”时。我在终端中收到一条消息,该消息运行console.log()我放置在程序末尾的消息,因此我知道程序已执行。

但是当我转到 Chrome 并https://localhost:8080在搜索栏中输入' " 时,我收到以下错误消息:

无法访问此站点

localhost 意外关闭了连接。

ERR_CONNECTION_CLOSED

我花了一个多小时试图弄清楚这一点,但我很迷茫。如果我使用“http”而不是“https”,则加载需要很长时间(我等了大约 5 分钟)。我已经检查过 Chrome 中是否有异步 DNS 标志或其他东西,并确认它已启用。我尝试在终端上执行“$ lsof -i:8080”并得到:

命令 PID 用户 FD 类型设备大小/关闭节点名称节点 6188 23u IPv6 0x3a96cd0448d7ba87 0t0 TCP *:http-alt (LISTEN)

(不太确定它的作用,但我在解决类似问题的网页上看到它,响应者指示该人这样做。)我也尝试在 Safari 上访问它并收到相同的消息。

我的代码如下:

var express = require('express');
var bodyParser = require('body-parser');
var morgan = require('morgan');
var mongoose = require('mongoose');

var port = process.env.PORT || …
Run Code Online (Sandbox Code Playgroud)

routing node.js express

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

无状态组件内部的功能

在某人之前,这个问题与此问题重复 吗您能在JavaScript中编写嵌套函数吗?

我想知道我们是否可以做这样的事情?

const toolbar = (props) => {
let sidedrawer = false;

  showSideDrawer = () => {
    sidedrawer = !sidedrawer
  }

  return (
    <header className={Classes.Toolbar} purchasingHandlerClose={this.showSideDrawer}>
//Something here
    </header>
  )
}
export default toolbar;
Run Code Online (Sandbox Code Playgroud)

更准确地说,在功能组件中有类似的东西

 showSideDrawer = () => {
        sidedrawer = !sidedrawer
      }
Run Code Online (Sandbox Code Playgroud)

然后像这样调用它

  <header className={Classes.Toolbar} purchasingHandlerClose={this.showSideDrawer}>
Run Code Online (Sandbox Code Playgroud)

现在,我知道我们可以做这个有状态的组件或类,但是再次在JS中,Class只是语法糖(仍然试图弄清楚这个短语的含义),那么我们如何在无状态或功能组件中实现这样的东西呢?

javascript reactjs

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

在pm2中获取spawn节点ENOENT

我试图在 AWS 上设置 Strapi

我按照他们网站上列出的说明进行操作:https://strapi.io/documentation/3.0.0-beta.x/deployment/amazon-aws.html

这是我的文件夹结构

在此输入图像描述

这将是我的 ecoystem.config.js 文件

module.exports = {
  apps: [
    {
      name: 'my-project',
      cwd: '/home/ubuntu/Strapi',
      script: 'npm',
      args: 'start',
      env: {
        NODE_ENV: 'production',
        DATABASE_HOST: 'r123-strapi-database.ce7f.us-east-2.rds.amazonaws.com', // database Endpoint under 'Connectivity & Security' tab
        DATABASE_PORT: '5432',
        DATABASE_NAME: 'r123_Strapi_db', // DB name under 'Configuration' tab
        DATABASE_USERNAME: 'postgres', // default username
        DATABASE_PASSWORD: 'r123_strapi_pasW',
      },
    },
  ],
};
Run Code Online (Sandbox Code Playgroud)

aws Master 用户名是否等同于上面的 DATABASE_USERNAME ?因为主用户名是 r123_strapi_101

当我运行时 pm2 start ecosystem.config.js出现此错误

PM2        | 2020-09-07T20:04:11: PM2 error: Error: spawn node ENOENT
PM2 …
Run Code Online (Sandbox Code Playgroud)

node.js pm2 strapi

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

Javascript 中的 import * 有什么作用?

在 Github 上浏览这个 repo并试图理解代码的工作

在这里,作者(或程序员)在多个地方提到了 import * 所以我试图理解和理解 import * 是如何工作的?

首先在他的 repo 的 Game.js 文件中,他提到/这样写

import * as actions from '../actions';
Run Code Online (Sandbox Code Playgroud)

在 VS Code 中,当我单击'../actionsusing 命令时,它会将我重定向到此文件 -> index.js

然后在 Index.js 他们有这样的东西

import * as ActionTypes from './action-types';
Run Code Online (Sandbox Code Playgroud)

当我点击./action-types它时会将我重定向到这里action-types.js

我浏览了 firefox 文档,但我无法清楚地理解第一个示例,例如,动作文件夹包含多个文件,以及如何从 '../actions' 导入 * 作为动作;平均 index.js 文件

虽然我知道他已经使用actions.functionName()或调用/引用了这些函数ActionType.TypeName

我的首要问题仍然存在

怎么import * as actions from '../actions'; mean index.js归档?

javascript reactjs

6
推荐指数
2
解决办法
6705
查看次数

在React Native中设计星形图案

我试图在反应本地而不是星星的情况下绘制星形图案,假设是方形框.

星形图案看起来像这样

****
****
****
****
****
Run Code Online (Sandbox Code Playgroud)

在Vanila JS,它看起来像

let rows=5;
 for(let i=1; i <= 5; i++) {
  for(let j=1; j<=5; j++){   
   document.write('*');
  }
  document.write('<br />');
}
Run Code Online (Sandbox Code Playgroud)

但那是vanila JS,我想在React-native功能组件中做同样的事情,然后在JSX中显示它

考虑这个我的功能组件反应原生

let numberOfBoxesRequired = 4; 
let array = []

const gridBoxes  = (props) => {

    for (let i=0; i<numberOfBoxesRequired; i++) {
        for (let j=0; j<numberOfBoxesRequired; j++) {

        }
    }
    return (
        <View style={mainGridBox}>  

        </View>
    )
}
Run Code Online (Sandbox Code Playgroud)

问题:我该怎么办?

javascript reactjs react-native

6
推荐指数
1
解决办法
285
查看次数