Stateful components in React

I haven’t dove into state in functional components yet. But I am learning about state in class components.

When building a class in React, it’s helpful to extend (in C# we call this an override (inheritance)) React.Component. In order to pass arguments (props) to this class though, you must pass the props into the class constructor as well as into the parent (React.Component). That’s accomplished by using the super keyword.

The nice thing about state in a React class, is that it’s asynchronous out of the box. We can set off a task in the constructor and when you have a callback function that’s tied to this.setState, React will automatically recall the render method and update the state of that component. See my example below:

Basic react state

 

How To Start with src and tests Folders in your Solution File in Visual Studio 2019

Organizing your code into src and tests folders on GitHub seems to be getting more and more popular. However, in Visual Studio 2019, it’s not very easy to accomplish. Here is how I do it.

Firstly, let me show you the final outcome:

To get there requires some Command line. First open a Command window and change to your local root folder for your application. In my case it’s C:\Code\NameOfCoolApp.

Once in the root folder of your application, type this in:

dotnet new sln

You should get something similar to The template “Solution File” was created successfully.

Next, we’re going to stub out one of your projects in the solution, so use whatever your naming convention is here. In my case, we’re going to stub out the Domain project. So from that same command window, type:

dotnet new classlib -o src/NameOfCoolApp.Domain

You should then see something like The template “Class Library” was created successfully and ending with Restore succeeded.

Next, I add a stubbed Unit Test:

dotnet new mstest -o tests/Domain.UnitTests

Following the successful message, we’re then going to add the above two items to the Solution by starting with:

dotnet sln add src/NameOfCoolApp.Domain

And finally:

dotnet sln add tests/Domain.UnitTests

From here you should be able to open the Solution file with VS2019 and be good to move on with the rest of your project within Visual Studio.

 

Great List of Public APIs

Public-apis.io is one of the greatest lists of public APIs that I’ve come across.

 

.NET Core 3.1 Missing From Target framework in VS2019 [FIXED]

I cloned a repository that was targeting .NET Core 3.1. Trying to run it in VS 2019 ended with this error:

The current .NET SDK does not support targeting .NET Core 2.1. Either target .NET Core 2.0 or lower, or use a version of the .NET SDK that supports .NET Core 2.1.

I looked at the properties of the project and I couldn’t see anything higher than .NET Core 2.2 in my Target frameworks list.

I spent more hours that I care to admit to here. I checked that .NET Core 3.1 both x64 and x32 were installed. They were.

I checked that C:\Program Files\dotnet was in my Path. It was.

It turned out that I had a global.json file in my root C:\Code folder, where I have all my local code projects, that was limiting my targeting of any child folders to 2.2.

I removed that global.json file and viola! I can now see .NET Core 3.1.

 

This remains one of my favorite answers..

…to the question, “What counts as experience?”

https://serverfault.com/questions/169620/what-counts-as-experience/169627#169627

 

RadControls ComboBox

When doing any kind of validation on your aspx pages, you must go back and set the CausesValidation property of most of your controls to “false”.  My RadComboBox wasn’t firing any postbacks until I did that.  I also had to set the same property on all my RadTabStrips because by default, they want to validate when you click on other tabs.

 

Netscape Navigator….wo0t!

My online bud Jeremiah and fellow digger, has landed a paying gig as a Netscape Navigator!  Congratulations and kudos to him.  Say what you will about getting paid to post but you should already know my feelings about it.  I know as a fellow tech geek that Jeremiah writes well and loves technology, especially Linux, and that this paying gig will allow him to feed his addiction to tech.  Way to go bro!

 

Would you eat cloned meat??

An FDA risk assessment that is expected to declare meat and milk derived from cloned animals safe for the food supply is currently being reviewed by the government, and is due to be released by the end of the year.

If these documents are finalized, cloned animal products will become part of the food supply, without the requirement for such foods to carry special labeling. And this could result in a backlash of absence claims, with ‘clone-free’ products starting to appear on supermarket shelves.

However, the move has inspired fierce criticism from consumer advocacy groups, which claim that there is insufficient science to guarantee the safety of products from cloned animals…

read more | digg story

 

Merit Badge in Copyright Law?

When I first read about this in one of my many RSS feeds, I figured it was a hoax or it came from The Onion. I quickly moved on because after all, I have more important stuff to do than laugh…right? It wasn’t until I read a few more similar titles about a merit badge in copyright, that I started thinking, is this for real? It turns out it is!

Does the movie industry really think that piracy is what’s keeping us from going to the movies? Let’s see. The last time I went to an actual movie theater (about 3 years ago), it was approximately $10 a person just to get in. This didn’t include the tub o’ butter popcorn that will stop your heart and the gallon size soda with enough sugar in it to fuel a nuclear reactor. What did I get for my money? A floor sticky enough to keep me on it if they turned the movie theater upside down, a chair that looked like it used to belong to Archie Bunker, a screen that was slightly out of focus, a screen that had black marks in it that distracted from the movie, neighbors that insisted on talking all through the movie, a cellphone that apparently didn’t have an off button, a persistant cougher (I can empathize with this since I’m actually in the throes of a coughing spell), and no guarantee that I would actually like the movie. (note: I was actually going to go on, but I remember learning about run-on sentences in high school)…

All this and movie *star* salaries continue to rise. I’ve been on this older movie kick, Casablanca, The Maltese Falcon, Citizen Cane. You know, when it was about the acting. It was those actors that deserved the mutlibazillion dollar salaries….Orson Welles, Bogart, Bacall.

Come to think of it, except for screen size, I can’t think of a compelling reason to actually go to a movie theater and it’s not because I pirate movies either. I actually can’t think of any movies that I would take the time to pirate because most aren’t really all that good….

 

Have You Seen This License Plate?

It turns out a fellow blogger and computer book author needs some help. Her California license plate was stolen off her car in Healdsburg. If anyone has seen it:

web geek license plate

let me know or if you have it, you can mail it back to her….no questions asked.