2016-07-29 52 views
0

這段代碼位於名爲'Block'的組件的底部。如何將MeteorJS/React中的對象存儲到變量中以便稍後返回?

export default theBlockContainer = createContainer(({ params }) => { 

    return { 
     voteStatus:Meteor.user()['listofvoted'], 
    } 

}, Block); 

上面的代碼工作完美,但我想重構它。

有沒有什麼辦法讓我在return語句之前將「voteStatus:Meteor.user()['listofvoted']」位存儲到變量中,這樣return語句只需要返回變量?

理想情況下是這樣的......

export default theBlockContainer = createContainer(({ params }) => { 
    let temp = voteStatus:Meteor.user()['listofvoted'], 
    return { 
     temp; 
    } 

}, Block); 

我想我失去了一些東西根本,因爲它似乎是一個簡單的任務,但是我已經試過這個無數次在同樣多種方式,但只收到編譯器錯誤。

+0

嘗試:'this.setState({voteStatus:Meteor.user()[ 'listofvoted']})'。這是使用'Block'組件的狀態來存儲變量。然後你應該能夠'返回this.state.voteStatus;' – grahan

回答

0
export default theBlockContainer = createContainer(({ params }) => { 
    this.setState({value: Meteor.user()['listofvoted']}); 
    return { 
     this.state.value; 
    } 
}, Block); 

該代碼會爲你工作..

+0

謝謝你這樣做的工作!但是,有沒有辦法避免使用反應狀態? – Teedub

+0

是的,您可以使用this.value = voteStatus:Meteor.user()['listofvoted']中的商店值並通過this.value獲取 – jayesh

+0

,但請確保您仔細閱讀此更清晰的何時使用狀態以及何時不使用狀態:http://stackoverflow.com/questions/25207703/instance-v-state-variables-in-react-js – jayesh

相關問題