Output from console.log during SSR is not reset between requests
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
SetUseReactandSetUseBabelis correct inReactConfig.csorStartup.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.
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.
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.