Using React as a rendering engine



  • Is it possible to use React instead of handlebar/jsrender? I saw a github issue on this, but this idea seems to have been abandoned 2 years ago:
    https://github.com/jsreport/jsreport/issues/301

    It would be really great to be able to be able make components of small building blocks and also use components from our own component library.



  • There was no work done regarding react templating engine implementation from jsreport core team so far.



  • Ok.
    @bjrmatos seemed to be quite enthusiastic about this two years ago. Any plans on revisiting this?


  • administrators

    @msageryd our plans changed a bit and we decided that a react engine was not a priority at that moment, i love the idea of being able to share components but it will take us some time to get there, we have some basic idea about those components when we were working on the react based designer (mentioned in the linked issue) but we are not currently looking into it so it might take more time to check this idea again



  • Currently I'm trying to decompose some reports to child reports (i.e. make components). It feels quite cumbersome compared to making react components.

    What problems would we potentially get into if we would use react outside of Studio and just feed our html into jsreport for rendering? I realise that we would have to rule our own "studio" for previewing reports. Do you think this would be a bad idea?



  • You have jsreport custom scripts where you can do everything you want.
    There is normal nodejs that should be able to do react server side rendering.
    You can, for example, load an asset with react component and render it in the script.

    You can also send to jsreport just html and do the html rendering in your system.
    Or even send just an url to the hosted page.

    It is fully up to you and your imagination. :) jsreport shouldn't be the limitation.


Log in to reply
 

Looks like your connection to jsreport forum was lost, please wait while we try to reconnect.