React is a JavaScript library for building user interfaces.
To understand react, we need to understand two things.
Everything that you build with React builds is a react component. These react components are essentially a JavaScript objects. React takes these JavaScript object and constructs a tree representing the actual DOM. This virtual tree of react element representing the DOM is called virtual DOM.
When we change a react element, React first batches the changes. It then does a comparison of the current and the previous state of the virtual DOM and updates the difference to the browser DOM for us. This comparsion is done by efficient diffing algorithm.
<App/>
jsx
is the file extension. JSX = java script extenstion. jsx
is syntactic sugar
for html/css-in-js. jsx
is
transformed into js
by Babel with react
and
es2015
preset compiles these JSX down to React.createElement()
calls.
React favours one-way data flow. i.e., the data flows down from root
to components via
state
and props
.
State is where we hold the data that's local to the component. hence state is private, mutable. If it gets
passed to the child components, then it becomes the props of child component. We can modify the state using
this.setState({})
. this.setState({})
is asynchronous. All the updates are queued and
the updates to the DOM
is made after diffing.
props
is the short form properties. props are immutable piece of data that are passed to child
components from parents.
For both the props and state change, the component will be re-rendered.
A component ideally should be responsible for only one functionality. Based on functionality, we can classify the components into two types.
Based on functionality, we can classify the components into two types.
State is private, mutable and local to the component.
a value can be a state, if it cant be passed via Props https://medium.com/@wisecobbler/using-a-function-in-setstate-instead-of-an-object-1f5cfd6e55d1 this.setState() is asynchronous.we need to use this.setState() after estting the inital state in the constructor. we need to use this.setState() to modify the state. It triggers the re-render when state changes we re-render the component. when ever a state update depends on the it is preferred to pass a function to current state. this is because it is async. react may not update the state immediately. it queues the update.
props is one way data pipeline.props are immutable piece of data taht are passedinto child componentsfrom parents. state is where we hold the data thats local to the component. stateis private and mutable.props are the parameter. input to the function.
Functional component doesn't have state
.
This has state
. render()
is the only required method to be defined in a React class
Component. After a
component is mounted
and initialized
render() will be called.
For my new posts, Subscribe via weekly RSS, common RSS or Subscribe via Email