I'm keeping my state in Redux store so having extra state inside this component causes weird bugs.
I think this should work like controlled/uncontrolled inputs in standard React: https://facebook.github.io/react/docs/forms.html
Also the prop index is confusing I think it should be renamed to initialIndex and index be used for the controlled behaviour.