2016-01-24 42 views
1

使用可重用組件構建反應網頁。現在問題出現在添加GA事件中,因爲GA事件主要是頁面特定事件,並且反應組件可重用。將GA事件應用於此的最佳方式是什麼?例如:假設Card組件是相當可重用的,我已經在我的Home Page中使用了它。 GA活動將像('Home Page','Card Click','Card No')一樣。但如果我在其他地方使用Card組件可以說User Page,那麼首頁的GA事件將被調用,而不是這是錯誤的。相反,用戶頁面事件應該被調用。我該如何解決這個問題?將GA事件添加到可重複使用的React組件

我能想到的一種方法是在頁面特定的JS中分別添加單擊事件監聽器並調用事件。但是,這將導致多個點擊處理程序(假設卡也有點擊事件)。有什麼更好的建議嗎?

回答

0

爲什麼不通過上下文通過props和點擊廣告的處理器也可以是這個樣子:

handleClick() { 
    ga('send', 'event', this.props.pageContext, 'Card Click', 'Card No'); 
} 

這就是通常情況下是如何處理的反應。

+0

也想過使用它但是上下文是實驗性的,反應本身建議不要使用它。 https://facebook.github.io/react/docs/context.html –

+0

我的英文定義中使用了「context」這個詞,而不是React的實驗性「context」API。如果你看看我的代碼,你會發現我不會在任何地方使用'this.context'。 –