小编Jim*_*ton的帖子

使用 useEffect() 反应子级未在父级状态更改时更新

在我的父组件中:

<div>
  <h3>Option <span>{this.state.currentOption + 1}</span> of <span>{this.state.options}</span></h3>
  <Button onClick={this.handleOption} variant="primary" type="submit">
    {` Next >>`}
  </Button>
</div>
Run Code Online (Sandbox Code Playgroud)

我正在调用一个钩子:

handleOption = event => {
  event.preventDefault();
  let option = this.state.currentOption;
  const numOptions = this.state.stackOptions.length;
  if (++option >= numOptions) {
    option = 0;
  } 
  this.setState({
    currentOption: option,
  });
}
Run Code Online (Sandbox Code Playgroud)

我希望循环遍历对象数组以在 Canvas 中渲染:

import React, { useRef, useEffect } from 'react'

const StackRender = props => {
  
  const canvasRef = useRef(null)
  
  useEffect(() => {
    const canvas = canvasRef.current
    const context = canvas.getContext('2d')
    renderOption(props.name, canvas) …
Run Code Online (Sandbox Code Playgroud)

reactjs

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

通过枚举迅速增加

我喜欢Swift允许使用枚举方法.我正在尝试使用方法,但我正在寻找一种更可扩展的方法:

enum CopyState{
    case binary, hex, both
    init(){
        self = .both
    }
    mutating func next() {
        if self == .binary{
            self = .hex
        } else if self == .hex {
            self = .both
        } else if self == .both{
            self = .binary
        }
    }
}

var state = CopyState()

state.next()
Run Code Online (Sandbox Code Playgroud)

我想基本上将枚举转换为整数,并以总模数选项的模数递增

添加或删除枚举选项很麻烦(我使用的是last()和next()方法).

enums swift

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

JavaScript Promises - 创建要一起执行的promise数组

我正在使用Node.js对noSQL DynamoDB进行异步调用.我首先查询该帐户所属的"好友列表".这可能会从零返回到'n'个新主键,其中包含每个好友列表的所有成员的列表.把它们想象成一个人所属的俱乐部......你可能没有或很多; 每个俱乐部都有几个成员甚至一个成员.

到目前为止(我在这里第一次使用Promise ...虽然我在之前的JA项目中使用了回调)但我对我的位置没问题,但我知道我正在组装承诺数组不正确.也就是说,我可以在控制台中看到.then函数在两个promises解析之前执行.为了记录,我确实希望...任何.then可能满足于单一的承诺解决似乎是合理的.

无论如何,有人可以提供一些关于如何构建的提示吗?我想最终得到伪:

getBuddyLists .then(getAllTheBuddiesInTheLists).then(function(){// doSomething});

我的Node.js代码:

const AWS = require('aws-sdk');
const docClient = new AWS.DynamoDB.DocumentClient({region:'us-east-1'});
var buddyGroups = [];

exports.handler = function(event, context, callback) {
    var params = {
        TableName: 'USER_INFORMATION',
        Key: {
            "DEVICE_ID": event.DEVICE_ID
        }
    };

    var getBuddyList = new Promise(function(resolve, reject){
        docClient.get(params, function(err, data){
            if(err){
                reject(err);
            }
            else{
                var dataJSON = JSON.parse(JSON.stringify(data));
                dataJSON.Item.my_buddies.values.forEach(function(value){
                    buddyGroups.push(value);
                });
                console.log('Got buddy groups: ' + buddyGroups);
                resolve(buddyGroups);
            }
        });
    });

    getBuddyList.then(function(capturedData){  // capturedData => an array of primary keys …
Run Code Online (Sandbox Code Playgroud)

javascript node.js promise

3
推荐指数
1
解决办法
5862
查看次数

标签 统计

enums ×1

javascript ×1

node.js ×1

promise ×1

reactjs ×1

swift ×1