express-react-views icon indicating copy to clipboard operation
express-react-views copied to clipboard

Allow to use React.renderToString instead of React.renderToStaticMarkup to allow isomorphic React use?

Open sbichenko opened this issue 9 years ago • 6 comments

Is there anything wrong with making this a configurable option? For example, this fork does that: https://github.com/AndrewGuenther/express-react-views/commit/d9fb082f2b073534ffa68a3ec64de6c7139cf25c

The fact that this wasn't made configurable makes me thinks that there's more to this problem. I'm new to React, so sorry if I'm asking something obvious.

sbichenko avatar May 09 '15 16:05 sbichenko

There is more too it, see #11 and #15 for some more discussion. It's not off the table just haven't seen a good solution for actually being client-mountable that I'm happy with.

zpao avatar May 16 '15 18:05 zpao

@zpao Has anything ever come from these talks. Are there good solutions now for a simple isomorphic react architecture? The only example I was able to find that I could produce workable solutions from was https://github.com/mhart/react-server-example. While this worked for me and I appreciate the example / effort; I can't code a project like this. Do you or anyone else have insights on how I can make this easier or if there are better avenues now?

Thanks

vikeen avatar Sep 26 '15 23:09 vikeen

No, nothing has really come of it.

https://github.com/reactjs/express-react-views/tree/master/examples/dynamic exists which was an interesting solution to the problem. That came in https://github.com/reactjs/express-react-views/pull/17 (and has some discussions about the tradeoffs).

There should be a bunch of isomorphic solutions out there, maybe even some using express.

I'm definitely open to making changes here but I haven't seen anybody make a compelling case about how their solution actually works.

zpao avatar Sep 28 '15 18:09 zpao

@zpao Thanks for the response. I hadn't done enough research on the topic when I posted here. I have been able to find a ton of solutions for isomorphic solutions. Mostly through react-europe 2015 video on youtube. It has taken some time for me to grasp the concepts. It's mostly challenging for me because many of the solutions are adding new technologies that I'm unfamiliar with (babel, es6, webpack, redux, react-router, flux, fluxible, etc..).

Thank you for the response back though. The example of you provided is a good reference for the main concepts of what's happening in the client / server shared architecture. The readme had some 404 links though. I'll get PR for this.

vikeen avatar Sep 28 '15 18:09 vikeen

Reference #50 for this fix. Let me know if you don't want the pr into master.

vikeen avatar Sep 28 '15 18:09 vikeen

Maybe this is not the place to mention this, but we have been using a pattern in a bunch of our express apps that I just bundled up into a module. It solves this problem when you are also using a front-end router that uses middleware like express. Maybe some solution like this would work here?

https://github.com/wesleytodd/react-express-middleware

Thoughts? Feedback?

wesleytodd avatar Jan 24 '16 20:01 wesleytodd