Hãy thử một cái gì đó như thế này:
import fs from 'fs';
import React, { Component, PropTypes } from 'react';
class Markdown extends Component {
constructor() {
super(props);
this.state = { contents: '' };
this.componentDidMount = this.componentDidMount.bind(this);
}
componentDidMount() {
const contents = fs.readFileSync(this.props.path, 'utf8');
this.setState({ contents });
}
render()
return (
<div>
{this.state.contents.split('\n').map((line, i) =>
line ? <p key={i}>{line}</p> : <br key={i} />)}
</div>
);
}
}
Markdown.propTypes = { path: PropTypes.string.isRequired };
React.render(<Markdown path='./README.md' />, document.body);
Hoặc nếu bạn đang sử dụng ES7 + các tính năng:
import fs from 'fs';
import React, { Component, PropTypes } from 'react';
class Markdown extends Component {
static propTypes = { path: PropTypes.string.isRequired };
state = { contents: '' };
componentDidMount =() => {
const contents = fs.readFileSync(this.props.path, 'utf8');
this.setState({ contents });
};
render() {
return (
<div>
{this.state.contents.split('\n').map((line, i) =>
line ? <p key={i}>{line}</p> : <br key={i} />)}
</div>
);
}
}
React.render(<Markdown path='./README.md' />, document.body);
Bạn sẽ cần phải sử dụng brfs chuyển đổi để có thể sử dụng fs.readFileSync nếu điều này đang chạy phía máy khách.
Bạn có đang sử dụng Browserify không? – kpimov
Có Tôi đang sử dụng trình duyệt số – thevangelist
Bạn có đang sử dụng Babel không? Bạn có ý nghĩa gì khi có 'styles.markdown'? – kpimov