在我的父组件中:
<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) 我喜欢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()方法).
我正在使用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)