kamila

kamila

  • NA
  • 10
  • 0

Type Error:Cannot read property of Unit undefined

Jun 26 2018 4:38 AM
Hi have added a new text box under the render which is Units and it works fine in local machine but throws error in server built . Does it has to be mounted with the component . Am new to reactjs could some one suggest .
  1. import React from 'react';  
  2.   
  3. class TextboxInputView extends React.Component {  
  4.   
  5.     constructor(props) {  
  6.         super(props);  
  7.         this.state = {  
  8.             value: ''  
  9.         }  
  10.     }  
  11.   
  12.     onValueChanged(e) {  
  13.         var newValue = e.target.value;  
  14.         this.setState({ value: newValue });  
  15.         if (this.props.valueChanged != null)  
  16.             this.props.valueChanged(newValue);  
  17.     }  
  18.   
  19.     render() {  
  20.         var unitsCheck = "";  
  21.         if (this.props.data.Unit != "") { unitsCheck = <input id="Units" className='col-md-4' Style='font-weight:normal' readOnly type="text" value={this.props.data.Unit} /> }  
  22.         return <div key={this.props.Id}>  
  23.             <label>  
  24.                 <input type="text" className='col-md-6' value={this.state.value} onChange={(e) => this.onValueChanged(e)} /> {this.props.Name}  
  25.                 {unitsCheck}  
  26.             </label>  
  27.         </div>;  
  28.     }  
  29.   
  30.     getDefaultValue() {  
  31.         var defaultValue = null;  
  32.         if (this.props.defaultValues != null && this.props.defaultValues.length === 1 && this.props.defaultValues[0] !== '')  
  33.             defaultValue = this.props.defaultValues[0];  
  34.         return defaultValue;  
  35.     }  
  36.   
  37.     componentDidMount() {  
  38.         var defaultValue = this.getDefaultValue();  
  39.   
  40.         if (defaultValue != null && this.state.value !== defaultValue) {  
  41.             this.onValueChanged({ target: { value: defaultValue } });  
  42.         }  
  43.     }  
  44.   
  45.     componentWillReceiveProps(nextProps) {  
  46.         if (this.props !== nextProps && nextProps.isResetValues) {  
  47.             let defaultValue = this.getDefaultValue();  
  48.             defaultValue = defaultValue === null ? '' : defaultValue;  
  49.               
  50.             if (this.state.value !== defaultValue) {  
  51.                 this.onValueChanged({ target: { value: defaultValue } });  
  52.             }  
  53.         }  
  54.     }  
  55. }  
  56.   
  57. export default TextboxInputView  

Answers (1)