小编And*_*son的帖子

设置 DotBot 和 Antigen

我正在设置一些点文件配置。我正在使用DotBot进行自动化symlinks

.dotfile这是我的文件夹中的文件列表

.git            antigen         install         zshrch
.gitmodules     dotbot          install.conf.yaml
Run Code Online (Sandbox Code Playgroud)

这是设置抗原的 zshrc 文件

source /antigen/antigen.zsh

# Syntax highlighting bundle.
antigen bundle zsh-users/zsh-syntax-highlighting

# Load the theme.
antigen theme robbyrussell

# Tell antigen that you're done.
antigen apply
Run Code Online (Sandbox Code Playgroud)

这是我的 DotBot 配置的 install.conf.yaml

- defaults:
    link:
      relink: true

- clean: ['~']

- link:
    ~/.dotfiles: ''
    ~/.zshrc: zshrc

- shell:
  - [git submodule update --init --recursive, Installing submodules]
Run Code Online (Sandbox Code Playgroud)

当我在 .dotfile 文件夹中运行 ./install 来启动 DotBot 时,出现错误。

GDC113:.dotfiles anders.kitson$ ./install
Submodule 'lib/pyyaml' …
Run Code Online (Sandbox Code Playgroud)

git zsh zshrc dotfiles

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

React js useState 钩子。单击复选框时如何更新其中包含数组的 json 对象的状态

stringified通过 lamda 服务器将我的状态作为变量从表单发送到 POST 请求,然后解析它并将其发送到 sendgrid,我在那里使用发送网格模板功能。这要求我将 json 格式化为这样,以便循环遍历一个特定部分(多个复选框),所有部分都应该具有相同的键但不同的值,由reason="Weight Loss"表单中的 a 设置。以下是最终 json 的形成方式。

{
  "name" :"anders",
  "message" : "winfsdafasfdsfsadfsadnipeg",
  "package" : "silver",
  "email" : "email@email.com",
  "subject" : "fdsafas",
  "data":{
      "reasonArray":[
         {
            "reason":"weightLoss"
         },
         {
            "reason":"Sport"
         }
      ]
   }
}
Run Code Online (Sandbox Code Playgroud)

然后我可以做一些魔术并循环检查复选框中选中的原因

<ol>
  {{#each data.reasonArray}}
    <li>{{this.reason}} </li>
  {{/each}}
</ol>
Run Code Online (Sandbox Code Playgroud)

现在,如果我使用单个键值对离开状态并且没有该data部分,我就可以使用它了。这是我最初的工作状态。

const [formState, setFormState] = React.useState({
    name: "",
    package: `${data.datoCmsPricing.title}`,
    email: "",
    subject: "",
    weightLoss:"",
    strength:"",
    sport:"",
    message: "",
  })
Run Code Online (Sandbox Code Playgroud)

然后,我发生了以下onChange事件,该事件将输入字段的名称设置为键,将值或检查状态设置为值。在这里看到的

const onChange = (e) …
Run Code Online (Sandbox Code Playgroud)

javascript json handlebars.js reactjs react-hooks

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

如何在 Flare React 包中实现类控制器选项

更新我在底部添加了一个 codesanbox,其中更详细地说明了我需要做什么。

所以我不太了解 React 中的类是如何工作的,我是 React 的新手并且使用过 useState 一点点,但从来不知道如何处理类。我正在使用这个 react 包,它有一个示例,说明如何使用控制器使您使用现在称为 rive 的flare 构建交互式动画。https://github.com/2d-inc/Flare-React#readme

我想要实现的是当我将鼠标悬停在生成的画布元素上时,要么运行不同的动画,要么再次运行相同的动画。我可以在 flate(rive) 中创建第二个动画,它仍然会在同一个 .flr 文件中输出,然后我应该能够在控制器中引用它并在悬停时运行它,只是坚持如何做那部分,或者甚至让这个控制器工作。需要注意的一件事是我可以让动画在没有控制器的情况下正常运行。

在文档中,他们有这个示例代码

class PenguinController extends FlareComponent.Controller
{
    constructor()
    {
        super();
        this._MusicWalk = null;
        this._Walk = null;
        this._WalkTime = 0;
    }

    initialize(artboard)
    {
        this._MusicWalk = artboard.getAnimation("music_walk");
        this._Walk = artboard.getAnimation("walk");
    }

    advance(artboard, elapsed)
    {
        // advance the walk time
        this._WalkTime += elapsed;
        const { _MusicWalk: musicWalk, _Walk: walk, _WalkTime: walkTime } = this;

        // mix the two animations together by applying …
Run Code Online (Sandbox Code Playgroud)

javascript animation flare reactjs rive

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

使用转换时,悬停时的CSS动画会停留在最后一个关键帧:

我正在尝试使该动画在悬停时停留在其最后一个关键帧中,但它会一直恢复到开始时的状态。我不在乎是否将鼠标悬停在它的上方,但不在悬停期间。我浏览了很多堆栈问题,每个人都说要使用animation-fill-mode:转发,但这似乎行不通。

这是我的代码和jsfiddle的链接

.circle:hover .spin {
  -webkit-animation-name: drop;
  -webkit-animation-duration: 1s;
  -webkit-animation-iteration-count: 1;
  -webkit-animation-direction: alternate;
  -webkit-animation-timing-function: ease-out;
  -webkit-animation-delay: 0;
  -webkit-animation-fill-mode: forwards;
}
@-webkit-keyframes drop {
  100% {
    -webkit-transform: rotate(90deg);
  }
}
Run Code Online (Sandbox Code Playgroud)

css animation hover css3

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

d3js rect svg 的过渡高度 onload

我有工作 js fiddle 修改 svg rect 元素来模仿条形图。我想要做的是将负载转换为特定的基本高度的条形图。移动滑块时图形会发生变化,但在页面首次加载时不会。

它在jsfiddle 上

这是我的代码

$("#slider").slider({
    max: 30
});

$("#slider").slider({
    min: 10
});

$("#slider1").slider({
    max: 25
});

$("#slider1").slider({
    min: 10
});



$("#slider, #slider1").slider({
    value: 10,
    animate: "fast" ,
    slide: function (event, ui) {
        var selection = $("#slider").slider("value");

        var selection1 = $("#slider1").slider("value");

        $( "#amount1" ).val( "$" + selection );

        $( "#amount" ).val( "$" + selection1 );


        //console.log(selection);
        console.log(selection1);

        //Width and height
        var w = 200;
        var h = 2000;

        //Data
        var dataset = [];

        var …
Run Code Online (Sandbox Code Playgroud)

jquery svg transition slider d3.js

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

根据基于对象属性的单击事件,将活动类添加到进度栏并将其删除

我一直在研究这个问题.我需要一些重要的指导.我有一个进度条,它由无序列表组成<ul></ul>,里面有列表项,组成分隔符和圆圈,如下所示相互附加.它们是基于StepSize对象中的属性构建的,我遍历对象并为这些列表项分配类.

<li class="circle"></li>
<li class="divider halfA"></li>
<li class="divider halfB"></li>
<li class="circle"></li>
<li class="divider full"></li>...
Run Code Online (Sandbox Code Playgroud)

我有一个下一个和一个后退按钮,可以更改索引,模仿我在另一个应用程序中运行的单页面应用程序中更改页面.活动类仅添加到您所在的索引,并检查您是否针对可能出现的不同情况使用特定的StepSize.例如,如果你在第一个索引上并且StepSize属性是halfA,那么你激活圆圈1和分隔符1.如果它是一个完整的StepSize而你只激活圆圈1.但这只是在第一个索引情况下,之后逻辑发生变化.希望我的代码能够比言语更准确地揭示这一点.

我目前的问题是第一次和第二次点击或应该是什么index=2,index=3不要提前进度条或激活正确的列表项.从技术上讲,一切都适用于分频器活动状态.我没有完全建立循环活动状态,因为我想让分隔符首先正常工作.有三种StepSize类型,full,halfA和halfB(这是两个列表项但是有一半的完整列表项的宽度StepSize)

我将把我的代码放在下面,但这里有一个JSbin,我还将附上一个预期的交互图.另外,请随意调整StepSize属性以测试不同的顺序,但请记住halfA StepSize必须始终跟随halfB.

希望这一切都有道理.如果需要澄清,我非常乐意提供.真的希望这可以解决,我有点疯了!

进度条图

https://jsbin.com/getipa/edit?html,console,output

// Example Object Combination #1 full start -> half end
variation = {
    ActiveSection:'',
    Sections:
        [
          {ID: '1', StepSize:"halfA"}, // Change StepSize's for testing
          {ID: '2', StepSize:'halfB'},
          {ID: '3', StepSize:"full"},
          {ID: '4', StepSize:"halfA"},
          {ID: '5', StepSize:'halfB'},
          {ID: '6', StepSize:"full"},
          {ID: '7', StepSize:"halfA"}, …
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery

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

遵循 Gatsby 教程,卡在“意外使用位置”上

我在 Gatsby 应用程序中收到此错误。我的代码似乎与我正在遵循的教程相同,我似乎无法弄清楚出了什么问题。错误是

50:10 错误 意外使用“位置”无限制全局变量

还有其他页面,可能导入的某些内容导致了冲突。我正在使用节点版本v11.0.0

代码如下:

src/components/layout.js

import React from 'react'
import PropTypes from 'prop-types'
import Img from 'gatsby-image'
import Helmet from 'react-helmet'
import styled from 'styled-components'
import { StaticQuery, graphql } from 'gatsby'

import Header from './header'
import Archive from './archive'
import './layout.css'

const MainLayout = styled.main`
  max-width: 90%;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 6fr 1fr;
  grid-gap: 40px;
`

const Layout = ({ children }) => (
  <StaticQuery
    query={graphql`
      query SiteTitleQuery {
        site { …
Run Code Online (Sandbox Code Playgroud)

node.js gatsby

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

如何合并子数组中的对象,以便在javascript中剩下一个数组和多个对象

我在 ARRAY 1处完整地看到了以下数组,我需要每个子数组合并其中的对象,使其像这样。

阵列决赛


[
  {"col0":"glasses","col1":"Milky glasses","col2":"292516467012796941"}
  , ...
]
Run Code Online (Sandbox Code Playgroud)

所以最终结果是一个包含 6 个对象的数组。上面的 ... 代表其余的对象。

我试过了,[].concat.apply([], array)但它并没有完全达到我想要的效果。我将在 ARRAY 2 的这个数组下面发布它的作用

阵列1

[
  [
    {
      "col0": "Glasses"
    },
    {
      "col1": "Milky Glasses"
    },
    {
      "col2": "292516467012796941"
    }
  ],
  [
    {
      "col0": "Knives"
    },
    {
      "col1": "Milky Knives"
    },
    {
      "col2": "292516484536599049"
    }
  ],
  [
    {
      "col0": "Forks"
    },
    {
      "col1": "Milky Forks"
    },
    {
      "col2": "292516497196057096"
    }
  ],
  [
    {
      "col0": "Gloves"
    },
    {
      "col1": "Kewl Gloves" …
Run Code Online (Sandbox Code Playgroud)

javascript arrays merge concatenation object

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

反应钩子,获取复选框 onChange 的值并传递给 submitForm

我目前有一个工作钩子,它检查输入字段的 onChange,然后将它们传播(我认为这是 的术语...)到一个变量中,并将它们发送到 Lamda 函数以使用 sendgrid 发送电子邮件。所有这些都在起作用。

但是,如果我添加一个输入类型,checkbox我会在逻辑方面有点迷失。因为我正在检查目标的名称并将其与它的值配对。那么复选框具有选中状态而不是值。我想我必须做一些类似于e.target.checked我的事情,setFormState 但是我该如何做到这一点,e.target.value并且仍然将其传播到...formState

我是一个反应菜鸟。

这是我的反应状态和更改事件和提交事件

const [formState, setFormState] = React.useState({
    name: "",
    package: `${data.datoCmsPricing.title}`,
    email: "",
    subject: "",
    weightLoss:"",
    message: "",
  })

  const onChange = (e) => {
    setFormState({...formState, [e.target.name]: e.target.value });
 }

 const submitForm = async (e) => {
  e.preventDefault();

  console.log("test");

  try{
    const response = await fetch("/.netlify/functions/sendmail", {
      method: "POST",
      body: JSON.stringify(formState),
    })

    if (!response.ok) {
      console.log(response);
      return
    }

    console.log("success email");

  } …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-hooks

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

找不到 Slack web-api 返回频道 chat.postMessage 到私人频道

我有以下代码,它返回以下错误。错误说找不到频道,但是我正在关注私人频道的文档,以使用频道的名称或使用以 G 开头的 url 中的字符串。我已经为频道的 bot 授予了正确的聊天写入权限,并且正在使用正确的 bot api 生成的 toekn,我之前能够通过 webhook 发布,但我想使用 web-api。

这是我指的文档https://api.slack.com/methods/chat.postMessage#channels

const { WebClient } = require('@slack/web-api');
const token = process.env.SLACK_BOT_TOKEN;
const web = new WebClient(token);

const conversationId = 'private-channel-name'; & tried this instead 'GCV2FGELX'

    const result = await web.chat.postMessage({
        text: 'Hello world!',
        channel: conversationId,
    });
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误响应

{
  code: 'slack_webapi_platform_error',
  data: {
    ok: false,
    error: 'channel_not_found',
    response_metadata: { scopes: [Array], acceptedScopes: [Array] }
  }
}
Run Code Online (Sandbox Code Playgroud)

我不太确定我做错了什么,但是做了一点挖掘,即使我尝试使用测试器获取对 groups.list 的请求,请点击此处https://api.slack.com/methods/groups.list/test使用具有正确权限的身份验证令牌,我只会得到一个空响应,而不是组列表。这里不确定。

我确实注意到它说Post into any channel …

javascript post http slack-api

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

如何为具有被调用的请求方法的 Window 对象以太坊编写打字稿接口

我正在运行以下函数

import { ethers } from "ethers";


async function requestAccount() {
    await window.ethereum.request({ method: "eth_requestAccounts" });
  }
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是我正在使用打字稿,它抱怨以下错误

Property 'ethereum' does not exist on type 'Window & typeof globalThis'

所以我能够用以下方法修复它

declare global {
  interface Window{
    ethereum?:any
  }
}
Run Code Online (Sandbox Code Playgroud)

但是我认为这没有正确利用打字稿。我该如何编写才能使接口值正确。我认为它应该是一个内部有方法的对象,但不确定如何在打字稿中编写它。

任何帮助将不胜感激。

谢谢

javascript typescript ethereum metamask ethers.js

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

反应意外的令牌,预期为“ ...”

我在这段代码中做错了什么,我不知道该怎么写我想测试状态 invalidForm并根据情况将其禁用或为null。

状态码UPDATE

if(valid) {
        return true;
    } else {
      this.setState({
        invalidForm: true
      })
    }
}


<button {this.state.invalidForm ? 'disabled' : null} type="submit">Submit</button>
Run Code Online (Sandbox Code Playgroud)

我得到的错误是

Unexpected
   token, expected "..."
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

0
推荐指数
1
解决办法
1724
查看次数

是否可以使用 useSWR 在 nextJS 中发送页面 id,以便我可以根据我所在页面的 ID 获取数据

我正在下一个js中使用useSWR进行请求,并且api路由需要我所在页面的id,它位于查询参数中但是router.query.id我如何将其传递给useSWR,以便我可以从我的api中提取正确的数据与我的数据库对话的路由器功能。

这是简单的请求

  const router = useRouter();
//PASS ROUTER.QUERY.ID to api/dataSingle
  const { data: valuesData, error: valuesError } = useSWR(
    `/api/dataSingle/`,
    fetcher,
    
  );
Run Code Online (Sandbox Code Playgroud)

更新:如果我尝试按照文档传递数组,则 api 函数中的请求主体未定义。这是我读完之后尝试过的。

const fetcher = (url) => fetch(url).then((r) => r.json());
const router = useRouter();
  const { data: valuesData, error: valuesError } = useSWR(
    [`/api/dataSingle/`, router.query.id],
    fetcher
  );
Run Code Online (Sandbox Code Playgroud)

API路由

import { query as q } from "faunadb";
import { serverClient } from "../../utils/fauna-auth";

export default async (req, res) => {
  console.log(req.body);
  returns undefined
};
Run Code Online (Sandbox Code Playgroud)

更新:我已经尝试过以下提取器,但仍然不明白它在做什么,所以它不起作用。

const …
Run Code Online (Sandbox Code Playgroud)

reactjs next.js swr

0
推荐指数
1
解决办法
4431
查看次数