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

159
Views
Forzar la representación del componente de reacción en el controlador retejs

Quiero crear un nodo que obtenga una vista previa de los valores anteriores usando react, rete.js y Chart JS.

Pero el cambio de accesorios o la llamada al método de update no actualizan el componente.

¿Cómo puedo arreglar eso?

Código relevante a continuación o enlace de codesandbox con repetitivo

 class ChartController extends Rete.Control { static component = ({ data }) => { console.log("Rerender") return <Line data={data} ></Line> } addValue(value) { this.props.data.datasets[0].data.push({ y: value, x: new Date().getTime() }) this.update() } constructor(key) { super(key) this.render = 'react'; this.component = ChartController.component this.props = { data: { "datasets": [ { "fill": true, "data": [{ "y": 0, "x": 1646927922557 }, { "y": 0, "x": 1646927926815 }, { "y": 1, "x": 1646927927804 }, { "y": 2, "x": 1646927927983 }, { "y": 3, "x": 1646927928133 }, { "y": 4, "x": 1646927928287 }, { "y": 5, "x": 1646927928429 }, { "y": 6, "x": 1646927928580 }, { "y": 7, "x": 1646927928726 }, { "y": 8, "x": 1646927928855 }, { "y": 9, "x": 1646927929022 }, { "y": 10, "x": 1646927929142 }], "backgroundColor": "rgba(255, 99, 132, 0.2)", "borderColor": "rgba(255, 99, 132, 1)", "borderWidth": 1 }], } } } } export class Preview extends Rete.Component { constructor() { super("Preview") } builder(node) { this.node = node this.max_size = 1_000 this.preview = new ChartController('preview') return node .addInput(new Rete.Input('num', "Input", numSocket, false)) .addOutput(new Rete.Output('num', "Output", numSocket, false)) .addControl(this.preview) } worker(_node, inputs, outputs) { const base = inputs['num'] const val = (base.length == 0 || typeof base[0] != 'number') ? 0 : base[0] this.preview.addValue(val) outputs['num'] = val return outputs } }
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

En el CodeSandbox vinculado hay dos problemas diferentes.

  1. El componente Line de react-chartjs-2. solo admite un eje x de "categoría", y los valores x deben ser cadenas. En el CodeSandbox que enlazo después de la explicación, simplemente los encadené String(…) para que funcione.
  2. Los datos (y accesorios) estaban siendo mutados directamente. Esto suele ser un "no" en React-land.

Puede encontrar un ejemplo práctico aquí: https://codesandbox.io/s/rete-js-react-render-forked-prdyof?file=/src/rete.jsx

Además, probablemente desee utilizar otra biblioteca de gráficos si desea controlar tanto el eje x como el eje y de su gráfico de líneas.

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!