私は同様の質問のカップルを参照しましたが、状況は少し異なります。React:内部のレンダリング関数から関数を呼び出す
Call a React Function from inside Render
How to Call a Function inside a Render in React/Jsx
React: Cant call a function inside child component
export default class CodeEditor extends React.Component {
appendAssets(asset) {
console.log(asset)
this.refs.editor.editor.insert(`player.asset('${asset}')`)
this.refs.editor.editor.focus()
}
render() {
function sequenceHierarchy (data, outputArray) {
level++
data.forEach(function (asset){
outputArray.push(<li className={`level_${level}`}><button onClick={_ => this.appendAssets(asset.name)}>{asset.name}</button></li>)
if(asset.children.length) {
sequenceHierarchy(asset.children, outputArray)
}
})
level--
}
}
}
のでsequenceHierarchy
関数内のボタンのonClick
はappendAssets
を呼び出す必要があります。もちろんthis
が、それは、このコンポーネントの一部ではないとして、それを呼び出すことができないであろうから、私もちょうどappendAssets(asset.name)
と試みたが、まだそれはUncaught ReferenceError: appendAssets is not defined
ありがとうHardik。それが私を助けました。 –
喜んでそれは助けた:) –