2016-09-12 8 views
0

Я выполняю сложный холст с помощью fabricjs. Это займет несколько секунд, около 3 + -. Есть ли способ сделать эту страницу немедленно, не дожидаясь рендеринга, и показать загружаемое изображение, пока холст не появится сразу?Reactjs - Показать загружаемое изображение сразу после нажатия на ссылку, пока ребенок не будет полностью отображен

моего родителя компонент -

class GraphPage extends React.Component { 
    constructor(props) { 
     super(props); 
     this.state = { 
      loaded: false, 
      print: null 
     } 
    } 

    render(){ 
     console.log('render'); 
     const graphList = graphStore.getGraphValue(); 
     var {data} = this.props; 
     return(
      <div> 
       <div className="inputs"> 
        <Inputs modal={false} unit='%' list={graphList.rotation} descTitle={data.graph.machine}/> 
        <Inputs modal={false} unit='mm' list={graphList.machine} descTitle={data.graph.rotation}/> 
       </div> 
       <div className="graph"> 
        <Print /> 
       </div> 

      </div> 
     ) 
    } 
} 

Print мой холст компонент.

+0

Показать – Chris

+0

это мой [graphPage] (http://pastebin.com/HEpRSSAN), там я хочу показать загрузочное изображение вместо графика, пока Graph si не будет полностью отображен (загружен) –

+0

Я могу показать компонент Graph тоже, но его комплекс с большим количеством детей, таких как прямоугольник, столбец, сетка и т. д.: D –

ответ

0

Если print является компонентом ткани JS я бы передать onLoaded обратный вызов к нему, а затем, когда объект fabric.Image по окончанию загрузки вы можете вызвать эту функцию и установить loaded состояния для этого компонента. Тогда эта функция может отображать что-то другое на основе этого состояния.

+0

Как я могу узнать, что fabric.Image полностью загружен? И yep, Print является компонентом js. –

+0

При создании объекта ткани вы можете передать обратный вызов .: 'new fabric.Image (imageDomElement, options, onLoadCallback)', что обратный вызов может быть событием, переданным из родительского объекта реакции. – StefanHayden

 Смежные вопросы

  • Нет связанных вопросов^_^