Ну clickHandler сколько раз вызывается - 2 или 1?
Если 1, то проблема с вашим setState. А он у вас экзотический какой-то... Не знаю, зачем это надо.
Я бы сделал так
this.setState({ taskArray: [...this.state.taskArray, inputVal] });
Заодно в этом случае "taskArray и newArray
НЕ являются по сути одним и тем же массивом" . spread создает новый массив.
И эту хрень уберите потом куда-нибудь подальше из React:
document.querySelector('input').value
А то в React за такое бьют. Даже если бы селектор был нормальный, а не по тэгу.