React.NET icon indicating copy to clipboard operation
React.NET copied to clipboard

Output from console.log during SSR is not reset between requests

Open LinusCenterstrom opened this issue 4 years ago • 2 comments

Thanks for filing a bug! To save time, if you're having trouble using the library, please check off the items you have tried. If you are just asking a question, skip right to the bottom.

Please verify these steps before filing an issue, and check them off as you go

  • [x] The relevant native JavascriptEngineSwitcher library packages are installed (such as JavaScriptEngineSwitcher.V8.Native.win-x64)
  • [x] The VC++ 2017 runtime is installed
  • [x] The value of SetUseReact and SetUseBabel is correct in ReactConfig.cs or Startup.cs
  • [x] I've looked at the sample projects in this repo to verify that my app is configured correctly

I'm using these library versions:

  • ReactJS.NET: 5.0.0

Steps to reproduce / description

make sure to enable reuse of javascript engines. SetReuseJavaScriptEngines(true)

render a simple component that logs something.

function Comp(){
     console.log("test");
     return <div>Hello World!</div>;
}

and refresh the page a few times. You'll notice you get one more console.log for each page refresh. (Until the javascript engine is reset)

Suggested fix: Either expose a method that resets the console calls array or you could just make console.getCalls empty the array of calls, since I don't see a situation where you'd want to get the same calls more than once.

LinusCenterstrom avatar Jan 26 '21 12:01 LinusCenterstrom

Happened to me as well... even when the component called console.log is not rendered in the next requests, the console.log message still appears.

cb-eli avatar Aug 24 '21 12:08 cb-eli

Hmmm... It's likely that this has been a problem ever since engine pooling was added to the library. The data stored in the log shim needs to be cleared after the request.

Daniel15 avatar Aug 25 '21 05:08 Daniel15