小编Nan*_*ore的帖子

setState 方法导致 Reactjs 函数中的结果无限循环

该代码显示数组中的用户记录。我还创建了一个updateCount()对内容显示的用户进行计数的函数。

我可以看到提醒的计数结果我可以在控制台中

现在我想显示计数结果,为此,我在函数setState()中初始化方法updateCount

updateCount = userId => {
    ...some code missing
    this.setState({dataCount: count});
}
Run Code Online (Sandbox Code Playgroud)

由于重新渲染,这会导致结果无限循环。无论如何,有没有办法摆脱setStateUpdateCount()功能,使我能够很好地显示计数结果或任何更好的可能方法。

这是代码

import React, { Component, Fragment } from "react";
import { render } from "react-dom";

class App extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      data: [],
      userCount: []
    };
  }

  componentDidMount() {
    var userId = "100";

    this.setState({
      data: [
        {
          id: "100",
          name: "Luke"
        },
        {
          id: "200",
          name: "Henry"
        }, …
Run Code Online (Sandbox Code Playgroud)

reactjs

8
推荐指数
2
解决办法
2万
查看次数

如何通过 Phantom 使用 web3js 正确传输 Solana SOL

我正在与 Solana 区块链合作。我正在尝试通过 Phantom 传输 Solana SOL。为此,我使用了在 Stack Overflow 上找到的以下代码:源链接

我已经在 Chrome 中安装了 Phantom。当我运行代码时,它显示错误:

未捕获(承诺中)类型错误:无法读取 null 的属性(读取“toString”)

我认为这行代码导致了上面的错误

console.log("Public key of the emitter: ",provider.publicKey.toString());
Run Code Online (Sandbox Code Playgroud)

这是代码

import * as web3 from '@solana/web3.js';
  import * as splToken from '@solana/spl-token';
  
  const getProvider = async () => {
    if ("solana" in window) {
      const provider = window.solana;
      if (provider.isPhantom) {
        console.log("Is Phantom installed?  ", provider.isPhantom);
        return provider;
      }
    } else {
      window.open("https://www.phantom.app/", "_blank");
    }
  };


  async function transferSOL() {
    // Detecing and storing …
Run Code Online (Sandbox Code Playgroud)

javascript web3js solana

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

如何使用reactjs和css创建垂直选项卡

我正在尝试构建垂直选项卡,其功能与w3schools 示例链接下面的演示链接完全相同

这是根据上面的演示示例尝试实现的屏幕截图 演示示例截图

为此,尝试了此处找到的解决方案,但它没有按照 Stackoverflow 链接上面的演示示例提供我想要的内容

现在我决定走自己的路去尝试一下。

我已经成功地通过reactjs显示了数组中的内容。当用户单击每个国家/地区时,会显示该国家/地区的内容。

我的问题:

我的问题是我无法让它在垂直选项卡 div 中显示内容,如屏幕截图所示

截屏

这是到目前为止的编码

import React, { Component, Fragment } from "react";
import { render } from "react-dom";

class Country extends React.Component {
  state = { open: false };
  toggleOpen = id => {
    alert(id);

    this.setState(prevState => ({
      open: !prevState.open
    }));
  };

  render() {
    return (
      <React.Fragment>
        <div key={this.props.data.id}>
          <button onClick={() => this.toggleOpen(this.props.data.id)}>
            {this.props.data.name}
          </button>
        </div>

        <div>
          {this.state.open && (
            <div>
              <div>
                <b>id: </b>
                {this.props.data.id}
              </div>
              <div>
                <b>Info: </b>
                {this.props.data.info} …
Run Code Online (Sandbox Code Playgroud)

javascript css reactjs

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

Reactjs:如何在reactjs中关闭和打开网络摄像头

下面的代码用于捕获网络摄像头照片。源码链接写在下面 https://www.npmjs.com/package/react-webcam

//npm安装react-webcam

这是我的问题,当页面加载时,网络摄像头指针立即打开/激活,我认为这是不正确的。如果用户不想立即捕获网络摄像头照片怎么办?

我的问题是:我是否可以添加一个按钮来通过reactjs打开或关闭网络摄像头。为此,我在下面创建了这个按钮,但单击时无法打开相机

 <button onClick={this.setRef}>Turn On/Off Camera</button>
Run Code Online (Sandbox Code Playgroud)

这是主要代码。

import React from "react";
import ReactDOM from "react-dom";

import Webcam from "react-webcam";
class App extends React.Component {


 setRef = webcam => {
    this.webcam = webcam;
  };

  capture = () => {
    const imageSrc = this.webcam.getScreenshot();
alert(imageSrc);
  };



  render() {
 const videoConstraints = {
      width: 1280,
      height: 720,
      facingMode: "user"
    };

    return (
      <div>
        <Webcam
          audio={false}
          height={350}
          ref={this.setRef}
          screenshotFormat="image/jpeg"
          width={350}
          videoConstraints={videoConstraints}
        /><br />

        <button onClick={this.capture}>Capture and Submit photo</button>
      </div> …
Run Code Online (Sandbox Code Playgroud)

reactjs

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

如何在 Ruby on Rails 5.2.3 中正确地将 html 表单发布到控制器

我是 ruby​​ on Rails 的新手。这里我尝试将 html 表单发布到 ruby​​ on Rails (5.2.3 版本) 为此,我参考了此处找到的解决方案链接

<form accept-charset="UTF-8" method='post' action='http://localhost:3000/user1s'>

      
        <label for='name'>Name</label>
            <input type="text" name='name' placeholder='Enter your name'> <br>
        <label for='password'>password</label>
            <input type="text" name='password' placeholder='Enter your password'> <br>
        <label for='email'>confirm pass</label>
            <input type="text" name='password_confirmation' placeholder='Enter your password_confirmation'> <br>
     
            <input type="submit" value='Save'>
    </form>
Run Code Online (Sandbox Code Playgroud)

用户1控制器

class User1sController < ApplicationController
    

  # POST /user1s
  # POST /user1s.json
  def create
    @name = params[:name]
    @password = params[:password]
    @password_confirmation = params[:password_confirmation]
    @user1 = User1.new(name=>@name, password=>@password , password_confirmation=>@password_confirmation)

    respond_to do …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

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

如何使用 django 保护文件上传

下面的代码通过将文件上传到服务器可以很好地工作。

请如何通过检查文件大小(例如 2mb)、文件扩展名、文件 Mimetype 和其他检查来验证和保护上传的文件,以确保仅上传 .jpg、.gif、.png 等图像而不是病毒。

模型.py

from django.db import models

# Create your models here.
class File(models.Model):
    file = models.FileField()

    def __str__(self):
        return self.file.name
Run Code Online (Sandbox Code Playgroud)

查看.py

from django.shortcuts import render
from django.core.files.storage import FileSystemStorage
from .models import File
import os, datetime

from .forms import uploadForm

# Create your views here.

def index(request):
    if request.method == 'POST' and request.FILES:

        form = uploadForm(request.POST,request.FILES)


        if form.is_valid():
            file = request.FILES['file']
            # process the data in form.cleaned_data as required
            file_object = form.cleaned_data['file']
            extension = …
Run Code Online (Sandbox Code Playgroud)

django

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

如何在python中正确构建json web token

我正在尝试通过从 stackoverflow 链接中引用Madhu_Kiran_K 的建议,使用pyjwt 库在 python django 中构建 Json Web 令牌

在下面的代码中,我正在尝试生成一个 JSON Web 令牌,该令牌存储此用户的 ID、电子邮件并将到期日期设置为未来 2 天。我可以成功地对令牌进行编码和解码,以获取所有必需的用户信息和令牌到期时间。

我现在的要求:

1.) 请问我如何验证并确保客户端发送的令牌仍然有效,因此不会被篡改。

2.) 如何检查过期时间并打印消息。这是我为达到这个效果所做的

#check if the token were tampered

if content['user_id'] =='' or content['email'] == '':
    print("Invalid Token")
else:
    print("Token is still valid")

#check if token has expired after 2 days

    if content['exp'] > dt:
        print("Token is still active")
    else:
        print("Token expired. Get new one")
Run Code Online (Sandbox Code Playgroud)

时间到期检查返回int 和 datetime.datetime 实例之间不支持的错误消息。什么是正确的验证方法。谢谢

下面是完整的代码

#!/usr/bin/python

import sys …
Run Code Online (Sandbox Code Playgroud)

python django

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

如何防止 Bootstrap 5 下拉菜单在单击内部时关闭

我试图阻止 Bootstrap5 下拉菜单在单击内部时关闭。在 Bootstrap 3 中,下面的代码可以正常工作,但在 Bootstrap 5 中则无法正常工作。

//stop all bootstrap dropdown menu from closing on click inside
$(document).on('click', '.dropdown-menu', function (e) {
  e.stopPropagation();
});
Run Code Online (Sandbox Code Playgroud)

我正在使用下面的代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
Run Code Online (Sandbox Code Playgroud)
  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>





<script>

//stop all bootstrap dropdown menu from closing on click inside
$(document).on('click', '.dropdown-menu', function (e) {
  e.stopPropagation();
});

</script>

<div class="container mt-3">
  <h2>Dropdowns</h2>
  <p>The .dropdown class is used to indicate a dropdown menu.</p> …
Run Code Online (Sandbox Code Playgroud)

bootstrap-5

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