Когда вы задаете функцию в this.setState, функция получает предыдущее состояние в качестве параметра. По сути, вы возвращаете то же состояние, и поэтому ничего не меняется.
calculateTotal=(e)=> {
const { input, checked, type} = e.target;
let sumVal= 0;
this.props.items.forEach((item, i)=> {
if(checked) sumVal += item.score
})
this.setState(prevState=>({...prevState, sumVal}));
// this.setState({sumVal}) ; // also works
console.log(sumVal);
document.getElementById("val").innerHTML = "Sum Value =" + sumVal;
}
Пожалуйста, дайте мне знать, если я что-то пропустил.