スコープ機能に問題があります。私は "item"の値を取得しようとしていますが、関数の外部でアクセスしようとすると定義されません。どうすれば "アイテム"を外部からアクセスできるようにすることができますか?レンダリングでアイテムを使用できるようにする必要があります。JS/Reactでネストされた関数に外部からアクセスするには?
onLinkClicked() {
var parent = this.state.username
//console.log(this.state.username)
var conn = new jsforce.Connection({
serverUrl: 'https://cs63.salesforce.com',
accessToken: sessionStorage.getItem('token')
})
conn.query("SELECT Id, Name, Phone FROM Contact WHERE LastName='" + parent + "'",
function(err, result) {
if (err) {
return console.error(err);
}
var a = result
a.records.forEach(function(item) {
result = (item.Name + ' ' + item.Phone);
console.log(item) // I'm trying to get the value of item, which outputs correctly here
});
}
)
console.log(item) //Here I get undefined due to being out of scope, how can I access item?.
}
render() {
return (
<div className='menubox' id='menubox'>
<div className='searchbar-container'>
<form onSubmit={e => e.preventDefault()}>
<input
type='text'
size='25'
placeholder='Contact Last Name'
onChange={this.handleChange.bind(this)}
value={this.state.username} />
<button
type='submit'
onClick={this.onLinkClicked.bind(this)}>
Search
</button>
</form>
</div>
<div dangerouslySetInnerHTML={ { __html: item } }>
</div>
</div>
)
}
インデント、スペース、セミコロンを修正してください。あなたのコードは読めないものです。 – user3637541
私は誰も誰の名前も 'Robert 'であることを願っています。 DROP TABLE Contact; - ' – roippi
私はこれをローカルで実行しています。すべての作業が完了したら、それを修正するためにエスケープします。 –