2016-05-06 2 views
0

У меня есть приложение Isomorphic ReactJS. У меня есть небольшая часть JS, которая используется только для мониторинга (предоставляется новой реликвией), которую я хотел бы разместить в компоненте React (точнее, это компонент, который отображает изображение или если изображение отсутствует, отображает компонент NoImage, я хочу использовать отслеживание, чтобы отслеживать, когда загружается изображение.), но catch - это просто, если бы этот JS-код запускался при визуализации на сервере, а не на клиенте.Выполнение только на сервере

Есть ли способ достичь этого?

ответ

1

При выполнении рендеринга на стороне сервера вы можете использовать componentWillMount(), поскольку он вызывается на сервере (в дополнение к клиенту), тогда как componetDidMount() называется только клиентской стороной. Что-то вроде этого должно работать:

componentWillMount() { 
    if (typeof process != 'undefined') { 
    executeCodeOnServer() 
    } 
    // or... 
    if (typeof document == 'undefined') { 
    executeCodeOnServer() 
    } 
} 
Смежные вопросы