2.5 KiB
2.5 KiB
id, challengeType, forumTopicId, title
id | challengeType | forumTopicId | title |
---|---|---|---|
5a24c314108439a4d4036168 | 6 | 301424 | 从零开始写一个 React 组件 |
Description
class
,它扩展了React.Component
。它有一个返回 HTML(从 JSX 返回)或null
的渲染方法,这是 React 组件的基本形式。一旦你深刻地理解了这一点,你就可以开始构建更复杂的 React 项目了。
Instructions
MyComponent
类,它是React.Component
的扩展。它的渲染方法应该返回一个div
,其中包含一个h1
标签,标签文本为:My First React Component!
。请确保文本内容、大小写和标点符号正确,以及调用了组件的构造函数。
使用ReactDOM.render()
把该组件渲染到 DOM 中。有一个id='challenge-node'
的div
可供你使用。
Tests
tests:
- text: 应该有一个名为<code>MyComponent</code>的React组件。
testString: getUserInput => assert(getUserInput('index').replace(/\s/g, '').includes('classMyComponentextendsReact.Component{'));
- text: <code>MyComponent</code>应该包含一个<code>h1</code>标签,标签的文本为<code>My First React Component!</code>,区分大小写并有标点符号。
testString: assert((function() { const mockedComponent = Enzyme.mount(React.createElement(MyComponent)); return mockedComponent.find('h1').text() === 'My First React Component!'; })());
- text: <code>MyComponent</code>应该渲染到 DOM。
testString: assert(document.getElementById('challenge-node').childNodes.length === 1);
Challenge Seed
// change code below this line
Solution
// change code below this line
class MyComponent extends React.Component {
constructor(props) {
super(props);
}
render() {
return (
<div>
<h1>My First React Component!</h1>
</div>
);
}
};
ReactDOM.render(<MyComponent />, document.getElementById('challenge-node'));