国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

文字

JSX不是使用React的必要條件。如果您不想在編譯環(huán)境中設(shè)置編譯,在不使用JSX的情況下使用React特別方便。

每個(gè)JSX元素都只是調(diào)用的語法糖React.createElement(component, props, ...children)。所以,任何你能用JSX做的事情都可以用普通的JavaScript來完成。

例如,用JSX編寫的這段代碼:

class Hello extends React.Component {  
    render() {    
        return <div>Hello {this.props.toWhat}</div>;  
        }
    }
ReactDOM.render(  
    <Hello toWhat="World" />,
  document.getElementById('root')
);

可以編譯為不使用JSX的代碼:

class Hello extends React.Component {  
    render() {    
        return React.createElement('div', null, `Hello ${this.props.toWhat}`);  
        }
    }
ReactDOM.render(
  React.createElement(Hello, {toWhat: 'World'}, null),
  document.getElementById('root')
);

如果您想了解更多JSX如何轉(zhuǎn)換為JavaScript的示例,則可以嘗試使用聯(lián)機(jī)的Babel編譯器。

組件既可以作為字符串提供,也可以作為子類提供,也可以作為React.Component無狀態(tài)組件的普通函數(shù)提供。

如果你厭倦了打字React.createElement太多,一種常見的模式是分配一個(gè)簡寫:

const e = React.createElement;ReactDOM.render(  e('div', null, 'Hello World'),
  document.getElementById('root'));

如果你使用這種簡寫形式React.createElement,在不使用JSX的情況下使用React幾乎可以方便。

或者,你可以參考社區(qū)項(xiàng)目,如react-hyperscripthyperscript-helpers其提供了一個(gè)更簡潔的語法。

上一篇: 下一篇: