কেবল ওয়্যার্ডপ্রাইয়ের উত্তরটি সামান্য বাড়ানোর জন্য, একটি মিনি উপাদান যা খোলা এবং বন্ধ করা যায়।
যেমন ব্যবহার করা যেতে পারে:
<Pretty data={this.state.data}/>
export default React.createClass({
style: {
backgroundColor: '#1f4662',
color: '#fff',
fontSize: '12px',
},
headerStyle: {
backgroundColor: '#193549',
padding: '5px 10px',
fontFamily: 'monospace',
color: '#ffc600',
},
preStyle: {
display: 'block',
padding: '10px 30px',
margin: '0',
overflow: 'scroll',
},
getInitialState() {
return {
show: true,
};
},
toggle() {
this.setState({
show: !this.state.show,
});
},
render() {
return (
<div style={this.style}>
<div style={this.headerStyle} onClick={ this.toggle }>
<strong>Pretty Debug</strong>
</div>
{( this.state.show ?
<pre style={this.preStyle}>
{JSON.stringify(this.props.data, null, 2) }
</pre> : false )}
</div>
);
}
});
হালনাগাদ
আরও আধুনিক পদ্ধতির (এখন যে ক্রিয়েক্লাস চলে যাওয়ার পথে)
import styles from './DebugPrint.css'
import autoBind from 'react-autobind'
import classNames from 'classnames'
import React from 'react'
export default class DebugPrint extends React.PureComponent {
constructor(props) {
super(props)
autoBind(this)
this.state = {
show: false,
}
}
toggle() {
this.setState({
show: !this.state.show,
});
}
render() {
return (
<div style={styles.root}>
<div style={styles.header} onClick={this.toggle}>
<strong>Debug</strong>
</div>
{this.state.show
? (
<pre style={styles.pre}>
{JSON.stringify(this.props.data, null, 2) }
</pre>
)
: null
}
</div>
)
}
}
এবং আপনার স্টাইল ফাইল
.root {ব্যাকগ্রাউন্ড কালার: '# 1f4662'; রঙ: '# fff'; হরফ আকার: '12px'; }
। শিরোলেখ {পটভূমি রঙ: '# 193549'; প্যাডিং: '5px 10px'; fontFamily: 'মনোস্পেস'; রঙ: '# ffc600'; }
.pre {প্রদর্শন: 'ব্লক'; প্যাডিং: '10px 30px'; মার্জিন: '0'; উপচে পড়া: 'স্ক্রোল'; }
JSON.stringify(json, null, "\t")
?