AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-19547310

suyog's questions

Martin Hope
suyog
Asked: 2025-04-10 02:49:38 +0800 CST

O cache do cliente Apollo não está sendo reiniciado após chamar client.resetStore()

  • 5

Estou tendo um comportamento inesperado. Ou seja, coloquei uma condição de salto na consulta e, mesmo quando a condição de salto deveria ser verdadeira, a consulta continua sendo executada. Fiz uma reprodução mínima do bug.

Aplicativo.jsx:

import { useState } from "react";
import "./App.css";
import { Test } from "../test";
import { useApolloClient } from "@apollo/client";

export default function App() {
  const [bool, setBool] = useState(false);
  const client = useApolloClient();
  return (
    <main>
      <button
        onClick={() => {
            if (bool) {
              client.resetStore();
            }
          setBool((bool) => {
            return !bool;
          });
        }}
      >
        Click me
      </button>
      {bool && <Test bool={bool} />}
    </main>
  );
}

teste.jsx:

import { gql, useQuery } from "@apollo/client";

const testQuery = gql`
  query {
    countries {
      name
    }
  }
`;
export const Test = ({ bool }) => {
  const { data, loading, error } = useQuery(testQuery, {
    skip: !bool,
    variables:{holy:"shit"}
  });
  if (loading) return <p>Loading...</p>;
  if (error) return <p>Error :(</p>;
  return (
    <div>
      {data.countries.map((country) => (
        <div key={country.name}>{country.name}</div>
      ))}
    </div>
  );
};

Estou usando a API de países fornecida pela Apollo GraphQL.

Aqui, quando o botão é clicado pela primeira vez, a consulta é enviada ao servidor que faz sentido. Então, quando ele é clicado novamente (ou seja, tornando bool=false), o cache deve ser limpo e a consulta não deve ser executada, pois está sendo ignorada, mas ela é executada (posso ver que está em execução olhando para a guia de rede). Ao fazer a renderização condicional do teste, pensei que a consulta não seria executada com certeza, pois o componente nem renderizava, mas estava sendo executado novamente, então acho que o problema é que a consulta está em execução entre o momento em que o cache é limpo e o ReactJS atualiza completamente o estado. Acho que não entendo alguns conceitos sobre estados. Como posso evitar que a consulta seja executada quando eu não quero? Agradeço sua ajuda.

Você pode ver aqui por si mesmo relitLink

reactjs
  • 2 respostas
  • 42 Views
Martin Hope
suyog
Asked: 2024-06-12 18:08:04 +0800 CST

Como usar a variável useRef em useEffect depois de atribuída e não é possível usar ref de forwardRef em useEffect

  • 5

Este é o meu código

import { useEffect, useRef, useState } from "react";
import PostContainer from "./postContainer.jsx"

export function App(props) {
  const postContainerRef=useRef()
  useEffect(()=>{
    console.log(postContainerRef.current)
  },[postContainerRef])
  return (
    <div className='App'>
      <h1>Hello React.</h1>
      <PostContainer 
      ref={postContainerRef}
      some_prop={"meow"} />
    </div>
  );
}

aqui eu quero usar postContainerRefuma vez definido, mas é apenas um registro indefinido. Tentei usar [postContainerRef.current]como matriz de dependência, mas também não fez nada.

import { useState, useEffect, useRef, forwardRef } from "react";

const PostContainer = forwardRef((props, ref) => {
    useEffect(()=>{
      console.log(ref.current)
    },[ref])
    return <>
    <div>This is Container</div>
    </>
})

export default PostContainer

Também quero acessar o elemento Container depois de renderizado, mas ele também está registrando indefinido.

Playcode playground

javascript
  • 1 respostas
  • 23 Views
Martin Hope
suyog
Asked: 2024-01-13 20:52:23 +0800 CST

Como desenhar um arco em uma superfície

  • 9

quero desenhar um semicírculo dentro de uma superfície. Então pensei em usar, pygame.draw.arc() mas não consigo descobrir como desenhar o arco dentro de uma superfície. Vi os documentos oficiais e estou usando math.radians()para converter graus em radianos, mas não consigo ver o arco. Um círculo está sendo desenhado...

import pygame
import math

pygame.init()
width, height = 800, 600
screen = pygame.display.set_mode((width, height))

surf = pygame.Surface((100, 100))
surf.fill("green")
rect = surf.get_rect(center=(100, 100))

run = 1
while run:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = 0

    screen.fill((255, 202, 135))
    pygame.draw.circle(surf, (255, 255, 255), (30,30),25)
    pygame.draw.arc(surf, (255, 255, 255), rect, math.radians(270), math.radians(90))
    screen.blit(surf, rect)

    pygame.display.flip()
pygame.quit()

desde já, obrigado

python
  • 1 respostas
  • 47 Views
Martin Hope
suyog
Asked: 2023-08-19 03:08:59 +0800 CST

ao animar usando várias imagens, a imagem faz um snap estranho, não consigo explicar corretamente

  • 6

sempre que executo este código, a animação é executada de maneira suave, mas, pelo que parece, quando a temperatura chega ao comprimento da lista e volta a zero, a imagem pisca

não é que as imagens que estão sendo animadas não estão sincronizadas corretamente fiz um gif para ver se as imagens tinham algum problema de enquadramento mas não tem nenhum no gif a animação é suave

exemplo de replicação com imagens

import pygame,os

pygame.init()
window=pygame.display.set_mode((600,600))
clock=pygame.time.Clock()
run=[]
for image in os.listdir("run"):
    run.append(
        pygame.transform.scale(
            pygame.image.load("run/" + image),
            (40, 40),
        ).convert_alpha()
    )

temp=0
diff=0.2
index=0
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            

    temp+=diff
    if temp>=len(run):
        temp=0
    index=int(temp)
    print(index)
    window.fill("white")

    window.blit(run[index],(300,300))
    pygame.display.flip()
    clock.tick(60)
python
  • 1 respostas
  • 37 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Reformatar números, inserindo separadores em posições fixas

    • 6 respostas
  • Marko Smith

    Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não?

    • 2 respostas
  • Marko Smith

    Problema com extensão desinstalada automaticamente do VScode (tema Material)

    • 2 respostas
  • Marko Smith

    Vue 3: Erro na criação "Identificador esperado, mas encontrado 'import'" [duplicado]

    • 1 respostas
  • Marko Smith

    Qual é o propósito de `enum class` com um tipo subjacente especificado, mas sem enumeradores?

    • 1 respostas
  • Marko Smith

    Como faço para corrigir um erro MODULE_NOT_FOUND para um módulo que não importei manualmente?

    • 6 respostas
  • Marko Smith

    `(expression, lvalue) = rvalue` é uma atribuição válida em C ou C++? Por que alguns compiladores aceitam/rejeitam isso?

    • 3 respostas
  • Marko Smith

    Um programa vazio que não faz nada em C++ precisa de um heap de 204 KB, mas não em C

    • 1 respostas
  • Marko Smith

    PowerBI atualmente quebrado com BigQuery: problema de driver Simba com atualização do Windows

    • 2 respostas
  • Marko Smith

    AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos

    • 1 respostas
  • Martin Hope
    Fantastic Mr Fox Somente o tipo copiável não é aceito na implementação std::vector do MSVC 2025-04-23 06:40:49 +0800 CST
  • Martin Hope
    Howard Hinnant Encontre o próximo dia da semana usando o cronógrafo 2025-04-21 08:30:25 +0800 CST
  • Martin Hope
    Fedor O inicializador de membro do construtor pode incluir a inicialização de outro membro? 2025-04-15 01:01:44 +0800 CST
  • Martin Hope
    Petr Filipský Por que os conceitos do C++20 causam erros de restrição cíclica, enquanto o SFINAE antigo não? 2025-03-23 21:39:40 +0800 CST
  • Martin Hope
    Catskul O C++20 mudou para permitir a conversão de `type(&)[N]` de matriz de limites conhecidos para `type(&)[]` de matriz de limites desconhecidos? 2025-03-04 06:57:53 +0800 CST
  • Martin Hope
    Stefan Pochmann Como/por que {2,3,10} e {x,3,10} com x=2 são ordenados de forma diferente? 2025-01-13 23:24:07 +0800 CST
  • Martin Hope
    Chad Feller O ponto e vírgula agora é opcional em condicionais bash com [[ .. ]] na versão 5.2? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench Por que um traço duplo (--) faz com que esta cláusula MariaDB seja avaliada como verdadeira? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng Por que `dict(id=1, **{'id': 2})` às vezes gera `KeyError: 'id'` em vez de um TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob: MobileAds.initialize() - "java.lang.Integer não pode ser convertido em java.lang.String" para alguns dispositivos 2024-03-20 03:12:31 +0800 CST

Hot tag

python javascript c++ c# java typescript sql reactjs html

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve