65 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			65 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								title: Change Inline CSS Conditionally Based on Component State
							 | 
						||
| 
								 | 
							
								localeTitle: تغيير CSS المضمنة بناء على حالة المكون
							 | 
						||
| 
								 | 
							
								---
							 | 
						||
| 
								 | 
							
								## تغيير CSS المضمنة بناء على حالة المكون
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## تلميح 1:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								ستقوم بالتحقق من طول هذا `this.state.input` بحيث تستخدم خاصية `.length` .
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								 `this.state.input.length 
							 | 
						||
| 
								 | 
							
								` 
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## تلميح 2:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								أنت تقوم بإدخال التعليمات البرمجية قبل بيان الإرجاع حتى يمكنك استخدام جافا سكريبت خالص `if/then` بيان.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## حل:
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								ستستخدم عبارة `if/then` للتحقق من قيمة هذا `this.state.input.length` . إذا كان أطول من 15 ، `inputStyle.border` `'3px solid red'` إلى `inputStyle.border` .
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								 `class GateKeeper extends React.Component { 
							 | 
						||
| 
								 | 
							
								  constructor(props) { 
							 | 
						||
| 
								 | 
							
								    super(props); 
							 | 
						||
| 
								 | 
							
								    this.state = { 
							 | 
						||
| 
								 | 
							
								      input: '' 
							 | 
						||
| 
								 | 
							
								    }; 
							 | 
						||
| 
								 | 
							
								    this.handleChange = this.handleChange.bind(this); 
							 | 
						||
| 
								 | 
							
								  } 
							 | 
						||
| 
								 | 
							
								  handleChange(event) { 
							 | 
						||
| 
								 | 
							
								    this.setState({ input: event.target.value }) 
							 | 
						||
| 
								 | 
							
								  } 
							 | 
						||
| 
								 | 
							
								  render() { 
							 | 
						||
| 
								 | 
							
								    let inputStyle = { 
							 | 
						||
| 
								 | 
							
								      border: '1px solid black' 
							 | 
						||
| 
								 | 
							
								    }; 
							 | 
						||
| 
								 | 
							
								    // change code below this line 
							 | 
						||
| 
								 | 
							
								    if (this.state.input.length > 15) { 
							 | 
						||
| 
								 | 
							
								      inputStyle.border = '3px solid red'; 
							 | 
						||
| 
								 | 
							
								    } 
							 | 
						||
| 
								 | 
							
								    // change code above this line 
							 | 
						||
| 
								 | 
							
								    return ( 
							 | 
						||
| 
								 | 
							
								      <div> 
							 | 
						||
| 
								 | 
							
								        <h3>Don't Type Too Much:</h3> 
							 | 
						||
| 
								 | 
							
								        <input 
							 | 
						||
| 
								 | 
							
								          type="text" 
							 | 
						||
| 
								 | 
							
								          style={inputStyle} 
							 | 
						||
| 
								 | 
							
								          value={this.state.input} 
							 | 
						||
| 
								 | 
							
								          onChange={this.handleChange} /> 
							 | 
						||
| 
								 | 
							
								      </div> 
							 | 
						||
| 
								 | 
							
								    ); 
							 | 
						||
| 
								 | 
							
								  } 
							 | 
						||
| 
								 | 
							
								 }; 
							 | 
						||
| 
								 | 
							
								` 
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								## حل
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								اكتب عبارة شرطية يتم تقييمها وفقًا لحالتك ، كما هو مذكور في وصف التحدي ، وتتحقق من طول الإدخال وتعين كائنًا جديدًا لمتغير inputStyle.
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								 `if (this.state.input.length > 15) { 
							 | 
						||
| 
								 | 
							
								  inputStyle = { 
							 | 
						||
| 
								 | 
							
								    border: '3px solid red' 
							 | 
						||
| 
								 | 
							
								  } 
							 | 
						||
| 
								 | 
							
								 } 
							 | 
						||
| 
								 | 
							
								`
							 |