여기에 코드를 붙여 넣었습니다. mapstatetoprops 및 mapdispatchtoprops와 연결 사용할 때 문제가, 내가 this.props.CarDetails있어 난 .. 또한 내가 버튼this.props.data가 함수가 아닙니다.
import React,{Component} from 'react';
import {connect} from 'react-redux';
import {carDetails} from '../actions/index';
import {Increment} from '../actions/updateValueAaction';
import {bindActionCreators} from 'redux';
class SummaryItem extends Component{
componentWillMount(){
this.props.carDetails();
}
renderList(){
return this.props.cars.map((car) => {
return (
<div className="col-sm-6 incrementer" >
<div >
<span className="titleclass"> Hala </span>
<div className="input-group">
<span className="input-group-btn">
<button type="button" className="btn btn-default btn-number incdec" disabled="disabled" data-type="minus" value ={car.id} data-field="quant[1]">
<span className="glyphicon glyphicon-minus"></span>
</button>
</span>
<input type="text" name="quant[1]" value={car.ct} readOnly className="form-control input-number cthtvalue" />
</div>
</div>
</div>
</div>
);
});
}
render() {
return (
<div >{this.renderList()}</div>
);
}
onInputChange(e){console.log(e.target.value);
// thisObj.onInputChange(thisObj.car.ct, event.target.value);
}
}
function mapStateToProps(state){
return {cars: state.cars.all};
}
function mapDispatchToProps(dispatch){
return {
routerActions:bindActionCreators({carDetails},dispatch),
actions:bindActionCreators(Increment,dispatch)
};
}
export default connect(mapStateToProps,mapDispatchToProps)(SummaryItem);
질문에 표시된 코드의 양을 줄이면 현재 가지고있는 문제를 재현하는 최소한의 예가 표시됩니다. –
코드를 업데이트했습니다. @Tom Fenech – shalin
mapStateToProps 함수에 carDetails 속성이 할당되어 있지 않으므로 부모 구성 요소에서 직접 전달하지 않으면 해당 속성을 사용할 수 없습니다. 누락되었거나 잘못 입력 된 소품을 쉽게 감지 할 수 있도록 개발 중 PropTyp 유효성 검사를 포함하는 것이 좋습니다. – oens