Yes, the props and state are defined by interfaces so if you try to pass in a prop object which does not meet definition of the interface, typescript will complain. I think typescript is not so bad of an option until native ES6 support becomes more mainstream.