/**
* @description <%-pageInfo.title%>
*
*/
import * as React from 'react';
import { connect } from 'react-redux';
import './index.less';
import * as T from './types';
import pageModel from './actions';
import {store2Props} from "./selectors";
<%-pageInfo.mainComp.imports%>

 <% pageInfo.subComps.forEach(subComp=>{ %>
import <%=Util.toUCamelize(subComp.fileName)%> from "./components/<%=subComp.fileName%>";
 <% }) %>

@connect<Partial<T.IAllReducerProps>, any>(store2Props)
export default class <%=className%> extends React.Component<Partial<T.IAllReducerProps>, any> {

  componentDidMount() {
<%-(pageInfo.mainComp&&pageInfo.mainComp.methods.filter(item=>item.name =="componentDidMount")[0]||{}).content%>
    pageModel.init();
  }

  componentWillUnmount() {
    pageModel.clean();
  }

  render() {
    let {<% pageInfo.models.forEach(actor=>{ %>
                    <%=Util.toLCamelize(actor.fileName)%> ,
      <% }) %>
    } =  this.props;
    let {actions} = pageModel;

    <% if ((pageInfo.mainComp&&pageInfo.mainComp.methods.filter(item=>item.name =="render")[0]||{}).content) { %>
    <%-(pageInfo.mainComp&&pageInfo.mainComp.methods.filter(item=>item.name =="render")[0]||{}).content %>
    <% }  else {%>
    return (
    <div id="<%=instanceName%>" className="<%=instanceName%>">
      <div/>
    </div>
    );
    <% } %>
  }
}


// create by moon https://github.com/creasy2010/moon



