हाय मैं प्रतिक्रियाओं को सीखना शुरू कर रहा हूं। तो मूल बातें समझने के बाद मैं प्रतिक्रियाओं का उपयोग कर डेटाबेस कनेक्टिविटी पर काम करना शुरू कर रहा हूं। कोड में मैं डीडी कनेक्टिविटी स्थापित करने और डीबी में उपलब्ध टेबलों को सूचीबद्ध करने की कोशिश करने के लिए उपयोगकर्ता आईडी और पासवर्ड प्राप्त करने का प्रयास कर रहा हूं। Login.js में जब मैंने लॉगिन बटन क्लिक किया है तो मैंने एक फॉर्म (userId और पासवर्ड) बनाया है, मैं एक कनेक्टिविटी बनाउंगा और डीबी में सभी टेबल सूचीबद्ध करने के लिए Show Table
क्वेरी निष्पादित करूँगा, और Table.js
पेज पर जा सकता हूं जहां मैं सूची बनाने का प्रयास करता हूं उपलब्ध टेबल अभी मैं डीबी से कनेक्ट करने में सक्षम हूं लेकिन Table.js
में टेबल प्रदर्शित करने में सक्षम नहीं है, तो Table.js फ़ाइल में टेबल सूची को कैसे प्रदर्शित करें, क्योंकि मैंने लॉगिन में एक बटन ईवेंट के अंदर अपनी डीबी कनेक्टिविटी और क्वेरी डाली है .js। इसके अलावा एक वैरिएबल ग्लोबल घोषित करना और किसी अन्य जेएस फाइलों में इसे एक्सेस करना संभव है। कोई मदद महान होगी, धन्यवाद।एक घटक से दूसरे घटक में डेटा तक पहुंच
Login.js
import React from 'react';
import TableContent from './tables';
class Login extends React.Component{
constructor(){
super();
this.state={
showComponent : false,
};
// this.buttonClick = this.buttonClick.bind(this);
}
buttonClick(event){
event.preventDefault();
this.setState({
showComponent: true,
})
var db = require('@dataBase/dynamoConnect')({
"UserId": "XXXXXXXXXXXXXXXXXXXXXXXX",
"Password": "YYYYYYYYYYYYYYY",
"region": "ZZZZZZZZZZ"
});
db.query("SHOW TABLES",(err,data)=>{
const tableList = data;
console.log(tableList);
})
}
render(){
return(
<div>
<form>
<label>User Id :</label>
<input type="text" className="test"/>
<br/>
<label>Password :</label>
<input type="text" className="test" />
<button onClick={this.buttonClick.bind(this)} className="connect" > Login</button>
</form>
{this.state.showComponent && <TableContent />}
</div>
)
}
}
export default Login;
Table.js
import React from 'react';
class TableContent extends React.Component {
constructor() {
super();
this.state = {
showComponent: false,
};
this.buttonClick = this.buttonClick.bind(this);
}
buttonClick(event) {
event.preventDefault();
this.setState({
showComponent: true,
})
}
render() {
return (
<div>
<form>
<div id="first">
<label> Table </label>
<br />
//Display the tables from DB here
<select name="sometext" multiple="multiple" >
<option>Table1</option>
<option>Table2</option>
<option>Table3</option>
<option>Table4</option>
<option>Table5</option>
</select>
</div>
<div id="second">
<label> SQL </label>
<br/>
<textarea rows="4" cols="50">SQL </textarea>
</div>
<button onClick={this.buttonClick.bind(this)} > Execute </button>
<div id="third" >
{this.state.showComponent && <SampleTable />}
</div>
</form>
</div>
)
}
}
export default TableContent;