Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

186
Views
La función de llamada a la acción/devolución de llamada del sistema de compilación no funciona

Estoy trabajando en un sistema de construcción/diseño. y todo funciona bien. El único problema es cuando publico mi paquete e intento usar la función de devolución de llamada. No devuelve correctamente los datos necesarios para pasar a la siguiente pantalla.

Traté de obtener un ejemplo reproducible para usted en CodeSandbox, sin embargo, hubo algunas implicaciones/errores menores que no me permitieron llegar al error específico del que le estoy hablando ahora. Eso parece tener sus propios problemas.

Entonces, ¿cómo se reproduce este error? Bueno, nuestro paquete a partir de ahora es público. Como se dijo anteriormente, no puede importar a CodeSandbox ya que da otros errores en las versiones de React (como se dijo, me ocuparé de eso más adelante). El nombre del paquete es @sandboxcommerceeng/react , el paquete scss que podría necesitar es @sandboxcommerceeng/scss . Continúe e importe en un archivo CSS. @import '@sandboxcommerceeng/scss/lib/global.css' . Luego, en el @sandboxcommerceeng/react , importe ECommercePlatformModal . El siguiente código le dará un error reproducible. Tipo de Platforms , también lo exporta @sandboxcommerceeng/react

 const [showEcommerceModal, setShowEcommerceModal] = React.useState<boolean>(false); const [url, setUrl] = React.useState<string>(''); const [selectedPlatform, setSelectedPlatform] = React.useState<keyof Platforms>(); <ECommercePlatformModal selectedPlatform={selectedPlatform} onSelectPlatform={(platform: keyof Platforms | undefined) => setSelectedPlatform(platform) } showModal={showEcommerceModal} onCancel={() => setShowEcommerceModal(false)} okButtonProps={{ onClick: () => console.log(url) }} // ✴ urlValidated={true} onUrlChange={(e: React.ChangeEvent<HTMLInputElement>) => { setUrl(e.target.value); }} url={url} />

✴: No puedo obtener la URL del estado mediante una devolución de llamada. Intenté simplemente hacer referencia a una función de devolución de llamada por separado y luego registrar la URL desde allí. También intenté pegar la URL de la devolución de llamada. Nada está funcionando.

Objetivo final

El objetivo final aquí es tenerlo para que pueda aplicar mi paquete en mi aplicación React y tener la funcionalidad del paquete, es decir, el código javascript implementado en el paquete en sí, funcione como se esperaba. La expectativa para este componente en particular es poder console.log la url y hacer que se muestre en el paquete desde la función de callback de llamada okButtonProp{{onClick: () => console.log(url)}}


Por favor, hágamelo saber si hay algo más que necesite de mí.

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Tu respuesta está aquí . (podría ser solo un comentario pero aún no tiene suficiente reputación :)).

about 4 years ago · Juan Pablo Isaza Report

0

Después de la depuración, el problema residía en el propio sistema de compilación. Usar React.memo en un componente de botón fue el culpable. La memorización no funcionaba según lo previsto debido al hecho de que ninguno de los elementos de utilería cambiaba realmente en el componente, por lo tanto, no volvía a representar el componente de botón con la nueva función y las variables que se le transmitían.

Seguí adelante y eliminé la memorización del componente memorizado, ya que no pude ver una manera de encajar la memorización en este caso.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!