Q:

Is value attribute of input tag a part of DOM?

I have some default value, that should be passed to value attribute of input, so this will be controlled component. What I need to know, where I should initialize state, in constructor enter code here or componentDidMount? I find, that componentDidMount is the right place for initialization that requires DOM nodes. So that's why I ask about value attribute.

A:

as you said componentDidMount is the right place for initialization but exactly for the requirement that needs DOM node's measurements like width or height in browser after render (here you can use element's width for some purpose).
so in your case (i mean input), there is no need to set value in componentDidMount.
hence you can simply use constructor that's enough.
Hope this helps.

