好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

为什么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' )
)  

 

 

查看更多关于为什么import React from react,React首字母必须大写?的详细内容...

  阅读:35次