寫component並且publish

作法

1.因為React的jsx無法被模組化直接使用,所以要先將jsx轉為js

2.export default 等以及import也無法使用

因為node_module被使用時不會被compile

css 不用 compile 也可以,因為通常專案在compile 後的 jsx 有 require css,這時會被專案的 webpack loader compile。

使用babel compile

babel src -d dist --presets es2015,stage-2,react --copy-files

可參考此Repo https://github.com/EasonWang01/react-pure-css-modal

或是

gi線上compile

https://facebook.github.io/react/jsx-compiler.html

https://babeljs.io/repl/

EX:

class Modal extends Component {
  render() {
    return (
      <div>
          <input className="yicheng-modal-state" id={props.id} type="checkbox" />  
          <div className="yicheng-modalbg" style={{width: '100%', height: '100%', background: 'rgba(0,0,0, .6)', position: 'fixed', top: '0', left: '0'}}>
            <div className="yicheng-modalWhite" style={Object.assign({zIndex:'100',width: '50%', height: '50%', background: 'white', position: 'fixed', top: '25%', left: '25%', overflowY: 'scroll'},props.style)} >
            {props.children}
            </div> 
            <label onClick={() => props.onClose()} className="yicheng-modal__bg" htmlFor={props.id}></label>
          </div>     
      </div>
    )
  }
}

compile 後

測試元件

1.把元件放到create-react-app 的 src folder測試

Last updated

Was this helpful?