動的に生成されたdivのコンポーネントHomeScreen.jsをレンダリングしようとしています。私はこれを少しでもうまく動かすことができますが、動的に生成されたdivからコンポーネントを分離することはできません。さらに、HomeScreen.jsをクリックしたdivだけにレンダリングしようとしていますが、現在、すべての部門のHomeScreen.jsを開きます。反応内の各動的divのコンポーネントを表示
(これは、接触アプリで、動的に生成されるのdivはコンタクトである。私はちょうどクリックます各連絡先の連絡先情報を表示しようとしている)
私は現在の機能のとのスクリーンショットを添付しました機能は、私はいくつかの洞察を使用することができ
を取得しようとしています。
import store from '../libs/store.js';
var jsforce = require('jsforce');
class menuScreen extends React.Component {
constructor(props) {
super(props)
const data = store.getState();
this.state = {
username: '',
messages: data.messages,
records: [],
showModal: false,
showChat: false
}
}
handleSearch(e) {
this.setState({
username: e.target.value
})
}
handleChange(evt) {
this.setState({
username: evt.target.value.substr(0, 100)
});
}
onClick(e) {
e.preventDefault();
this.setState({
showChat: !this.state.showChat
})
}
onLinkClicked() {
var conn = new jsforce.Connection({
serverUrl: 'https://cs63.salesforce.com',
accessToken: sessionStorage.getItem('token')
})
var parent = this.state.username
//console.log(this.state.username)
conn.sobject("Contact").find({
LastName: {
$like: parent
}
}, 'Id, Name, Phone, Account.Name'
).sort('-CreatedDate Name').
limit(5).skip(10).execute(function(err, records) {
if (err) {
return console.error(err);
}
for (var i = 0; i < records.length; i++) {
var record = (records[i]);
console.log("Name: " + record.Name);
console.log("Phone: " + record.Phone);
console.log("Account Name: " + record.Account.Name);
}
this.setState({
records: records
})
this.setState({
showChat: !this.state.showChat
})
}.bind(this))
}
render() {
return (
<div className='menubox' id='menubox'>
<div className="boxbox">
<input className="search" type="text" placeholder="Contact Last Name" onChange={this.handleChange.bind(this)} value={this.state.username} />
<input className="submit" type="submit" onClick={this.onLinkClicked.bind(this)} value="GO" /></div>
<div>
<div>
{this.state.records.map(record => (
<div className="info-block block-info clearfix">
<div className="square-box pull-left">
<span className="glyphicon glyphicon-user glyphicon-lg"></span>
</div>
<h5>{record.Name}</h5>
<h4>{record.Phone}</h4>
<p>{record.Account.Name}</p>
**//Trying to render home.js when Chat Bubble is clicked.**
<a onClick={this.onClick.bind(this)}>
<img src="./img/speechbubble.png" className="textIcon" />
{this.state.showChat && < HomeScreen/>}
</a>
</div>
))}
</div>
</div>
</div>
)
}
}
export default menuScreen;
ありがとうございます。これは非常に役に立ちました! 1つの質問、どうすれば親のmenuboxコンテナの外に を開くことができますか? –
あなたはmenubarの親コンポーネントからあなたを得ていませんか? –
はい、私はメニューバーの外にホームスクリーンを表示しようとしています –