为什么import React from 'react',React首字母必须大写?
很奇怪的是,明明没有用到 React,但是我不得不 import React。这是为什么?
import React from 'react'; export default function (props) { return ( <form className="signIn" onSubmit={props.onSubmit}> {/* 登录*/} <form className="signIn" onSubmit={props.onSubmit}> {/* 登录*/} ...
答:把jsx编译到js需要调用一个函数, 这个函数在React叫React.createElement.
import React from 'react'; const comp = () => ( <div>something...</div> ); //... // 编译 JSX 后: import React from 'react'; const comp = () => ( React. createElement('div', null, 'something...' ) ); //这是个约定熟成,不大写,babel编译会出错
"extends React.Component" 删掉行不行?
答:不行,删掉的话页面就是空白的了。说明自定义标签必须继承 React.Component。试试把 render 函数变成其他名字,也不行。且Welcome首字母要大写!
//import 略 class Welcome extends React.Component { render() { return <h1>Hello, Component</h1>; } } ReactDOM.render( <Welcome/>, document.getElementById('root') )