This is a minimal introduction to React. These are intended to be rough notes for my future self. Any other use is entirely fortuitous.
I have taken the Pluralsight course: https://www.pluralsight.com/courses/react-js-getting-started
This is based upon using the online repl found at: https://jscomplete.com/repl
// This is a simple function based react component. // Note that the name of the component has to start with a capital. // You need to treat the props as immutable. const MyComponent = (props) => { return ({props.greeting} {props.name}); }; // This is a simple class based React component // State is mutable, but you need to use the setState function // so that the UI will be re-rendered. // The state defined here is a proposed js extension that works through Babel. class App extends React.Component { state = {name: "Fred"}; render() { return ( ); }; }; // This is the bootstrap that injects React into a page // Here mountNode is an id of a div ReactDOM.render(<App />, mountNode);
So from the above sample a quick comparison of React to AngularJs.
React is a view model that can be injected into a page. It follows functional programming idoms (props are immutable, state is updated by returning deltas that are merged into it). The html is embedded into the script so it does not require a distinct template language. It creates a virtual DOM that is dynamically updated when the data changes.
AngularJs is a full framework with routing, templating. It is typically added via custom tags. The developer needs to cede control of a region of a page to angular. Angular typically has distinct templates that are rendered.
They can be made to play well together – React can act as the View to an Angular application.