माउंट मैं नीचे है घटक जो अनिवार्य रूप से एक चैट बॉक्सस्क्रॉल स्थिति सेट प्रतिक्रिया से पहले घटक
render(){
const messages = this.props.messages;
return(
<div id="project_chat">
<h1>{this.props.project[0].project}</h1>
<div className="chat_room">
<div className="messages" ref="messages">
<Waypoint onEnter={this.activateWayPoint}/>
<ul>
{messages.map((message) => {
return(
<Message key={uuid.v4()} message={message}/>
)
})}
</ul>
</div>
<div className="chat_message_box">
<input type='text' onChange={this.handleChange} value={this.state.message} className="message_box" placeholder="enter message"/>
<button className="submit_message" onClick={this.handleSubmit}>Submit</button>
</div>
</div>
</div>
)
}
समस्या मैं का सामना करना पड़ा संदेशों चैट बॉक्स कंटेनर के सर्वोच्च स्थान पर शुरू होता है (पुस्तक स्थिति है प्रतिक्रिया शीर्ष पर शुरू होता है)। मैं चाहता था कि स्क्रॉल स्थिति सामान्य चैट रूम की तरह नीचे हो।
तो मैं ऐसा करने की कोशिश की:
componentDidMount(){
this.refs.messages.scrollTop = this.refs.messages.scrollHeight
}
इस से चलाता है के बाद घटक यानी घुड़सवार हो जाता है - संदेश बॉक्स स्क्रॉल स्थिति शुरू में शीर्ष पर शुरू होता है और प्रस्तुत करना पर नीचे करने के लिए अपनी तरह से मजबूर करती है।
यह सामान्य रूप से ठीक है लेकिन मैं react-waypoint
नामक लाइब्रेरी का उपयोग कर रहा हूं जो मुझे चैट संदेशों को कम करने में मदद करेगा। जब भी मैं कंटेनर के शीर्ष पर हूं, यह हर बार ट्रिगर हो जाता है।
दुखी परिणाम यह है कि संदेश बॉक्स शीर्ष पर शुरू में शीर्ष पर शुरू होता है, तो मार्ग बिंदु हमेशा माउंट पर ट्रिगर हो जाता है।
मेरे सवाल यह है कि मैं के रूप में शीर्ष शुरू करने और शुरुआत
पर नीचे करने के लिए जा रहा है कि मैं इस
componentWillMount(){
this.refs.messages.scrollTop = this.refs.messages.scrollHeight
}
कर की कोशिश की करने के लिए विरोध नीचे की स्थिति में शुरू करने के लिए संदेश घटक मजबूर कर सकते हैं है समस्या यह है कि मैं घटक माउंट से पहले refs तक पहुंच नहीं है। क्या कोई और तरीका है?
अद्भुत काम करता है ... धन्यवाद :) – Kannaj
भी, यह 'ref.refs.messages.scrollTop = this.refs.messages.scrollHeight 'यह सुनिश्चित करने का सही तरीका है कि स्क्रॉल नीचे रहता है? – Kannaj
@ कंकका यह सुनिश्चित नहीं करता है कि स्क्रॉल * नीचे * रहता है (बेशक, क्योंकि आप स्क्रॉल करना चाहते हैं!) लेकिन हां, इस तरह मैं नीचे स्क्रॉल करने की अनुशंसा करता हूं। –