나는 새로워서 반응이 없으므로 이것을 파악할 수 없습니다. 클릭 할 때 탭의 내용을 표시하는 동적 탭을 만들려고합니다. 콘솔에서 "정의되지 않은"handleClick '속성을 읽을 수 없습니다. 여기에 지금까지이 작업은 다음과 같습니다정의되지 않은 'handleClick'속성을 읽을 수 없습니다.
<script type="text/babel">
class App extends React.Component {
constructor(props) {
super(props);
this.state = {
tabs: [
{id: 0, name: 'Foo'},
{id: 1, name: 'Bar'},
{id: 2, name: 'Fizz'}
],
contents: [
{name: 'Foo', content: 'Hello'},
{name: 'Bar', content: 'World'},
{name: 'Fizz', content: 'Buzz'},
]
};
this.handleClick = this.handleClick.bind(this);
}
handleClick() {
console.log('Hi');
}
renderTab(tab) {
return(<Tab key={tab.id}
value={tab.name}
onClick={() => this.handleClick()}
/>
);
}
renderContent(i) {
return(<Content content={this.state.contents}/>);
}
render() {
return(
<div className="container-tabs">
<div className="tab">
{this.state.tabs.map(this.renderTab)}
</div>
<div className="tabcontent">
<p>{this.renderContent}</p>
</div>
</div>
) ;
}
}
class Tab extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<button className="tablinks"
onClick={() => this.props.onClick()}>
{this.props.value}
</button>
);
}
}
class Content extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<div className="tabcontent">
{this.props.content}
</div>
);
}
}
ReactDOM.render(
<App/>,
document.getElementById('root')
);
</script>
언급 된 접근법을 사용하여 문제를 해결할 수 있었습니까? –
감사합니다! – nachomacaso
위의 문제가 해결되면 답변으로 표시해주세요. 나중에이 스레드를 읽는 것이 도움이 될 수 있습니다. 나중에 스택 오버플로에 게시 한 질문에 대해서도 동일한 작업을 수행해야합니다. 초기 문제를 해결하는 것이 얼마나 도움이 되었는가에 따라 투표를 하향 투표하거나 투표에 표시 할 수 있습니다. 어쨌든 네가 만들었다 니 다행이야. –