Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature Request: Render functions like ReactJS.Net #5

Open
xtroncode opened this issue Aug 18, 2020 · 10 comments
Open

Feature Request: Render functions like ReactJS.Net #5

xtroncode opened this issue Aug 18, 2020 · 10 comments
Assignees
Labels
enhancement New feature or request

Comments

@xtroncode
Copy link

Hi, I want to try this library but the lack of support for Render functions is a blocker for me. Can it be implemented in NodeReact.Net ? I'd be happy to help.

@rshackleton
Copy link

@DaniilSokolyuk is there any likelihood that this would be looked into?

The library is very promising but not having the ability to support CSS-in-JS libraries via Render Functions is also a blocker for me.

@rshackleton
Copy link

Just having a very quick look and I guess the approach would be much trickier whilst supporting streaming.

https://styled-components.com/docs/advanced#streaming-rendering

Perhaps a custom interop would be needed to coordinate the renderToNodeStream wrapper?

@DaniilSokolyuk
Copy link
Owner

We're using the new 'renderToPipeableStream' API. Additionally, we have the ability to render an entire page in a React component, like this https://github.com/DaniilSokolyuk/NodeReact.NET/blob/master/NodeReact.Sample.Streaming/ClientApp/components/App.jsx

@DaniilSokolyuk
Copy link
Owner

Issue is here styled-components/styled-components#3658

@rshackleton
Copy link

That is interesting, I was looking at whether we could use this to migrate away from ReactJS.NET and retain the island architecture approach vs rendering the entire site as a React app.

My concern is enabling SSR for React components within a .NET site which needs to run on Razor in order to interface with the CMS.

I suppose the CSS-in-JS issue could be circumvented by using a library that doesn't have runtime JS like Linaria or Vanilla Extract, or using something like Tailwind.

@DaniilSokolyuk
Copy link
Owner

I will try next week to make a legacy mode that uses renderToString

@rshackleton
Copy link

rshackleton commented Feb 17, 2023

That would be great for backwards compatibility. I'm going to trial it on a project which is currently using Tailwind. The lack of render functions shouldn't be an issue in this case.

@LorenDorez
Copy link

Just an update here. I have a working POC to handling CSS-in-JSS libraries like Styled and Emotion. I got the ideas from the Emotion creator as he worked with Styled, NextJS and the react devs to try to find a workaround until some new APIs posisble come out from the React devs.

I needed this support for MUI which I use heavily. the POC is pretty ugly but was waiting on another issue on posted to see if a pull request would be allowed. I havent heard back yet so i might just fork this project and clean up my POC

@rshackleton
Copy link

@LorenDorez please share your fork here if you do. 👍

@ellinge
Copy link

ellinge commented Mar 23, 2024

I am also interested in in a fork for render functions support. Had to go back to ReactJs.NET in a project ported from framework to .Net 8. I did not see a clear solution of how to fix it in another way currently with NodeReact.

But since ReactJs.NET is in maintenance mode and I’ve already had to fork it for React 18-support it would be better if one could migrate to this instead.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants