2017-05-24 75 views
1

說我有一個陣營組件像最終用戶是否可以編輯React組件的狀態?

class User extends React.Component{ 
    constructor(props){ 
    super(props); 
    this.state={userId:""} 
    } 
    componentWillMount(){ 
    this.setState({userId: cookies.get('id')}); 
    } 
    componentHasMounted(){ 
    getSensitiveLoginData(this.state.userId); 
    } 
    render(){ 
    return <SomeSensitiveData/> 
    } 
} 

它會爲最終用戶以某種方式修改組件的狀態是可能的?在這種情況下,最終用戶可以編輯狀態的userId嗎?

+9

任何可通過開發工具訪問的內容都可以編輯。永遠不要相信客戶端,並始終驗證服務器端。 – Joseph

回答

3

編輯組件的狀態真的很容易。你不需要任何忍者技能。所需要的只是在Chrome中安裝React Dev Tools擴展。

通過此擴展,無論何時在Chrome中打開開發工具,都會出現一個新標籤,名爲React。它允許您查看React的組件層次結構所看到的DOM。它還允許您單獨檢查每個組件。在檢查組件時,您可以通過內聯可編輯樣式GUI輕鬆更改它的props和/或state

即使它不適用於React Dev Tools,客戶端總是有辦法操縱它自己的數據。正如評論家約瑟夫在評論中所說,服務器端驗證一直是必須的。

相關問題