3
我剛剛使用 accounts-password
包對我當前的項目實施了一個小型認證系統。驗證本身正常工作。Meteor.userId()在響應組件中沒有響應?
在我看來,有一些按鈕和東西應該只顯示登錄用戶。我通過檢查Meteor.userId()
得到了這個工作。如果null
,按鈕將不會顯示。
問題如下: 當我登錄(或退出)時,我的視圖不會重新渲染。它不會隱藏或顯示應切換的按鈕。它總是需要獨立的放棄來顯示或隱藏它們。
Meteor-Documentation指出,Meteor.userId()
應該是反應性的,但它在我的組件中不是那樣。
這裏是展示我的觀點看起來像顯示或隱藏取決於Meteor.userId()
按鈕一些反應組分:
class SomeReactComponent extends React.Component {
constructor(props) {
super(props);
...
}
...
render() {
return (
<span>
<p>Text that should be displayed to anyone!</p>
{ Meteor.userId() ? (
<button id="btn">
This button is only available to logged in users
</button>
) : ""}
</span>
);
}
}
感謝您的快速建議!我必須這樣做的原因是流星反應不等於反應活性。所以我必須使用'createContainer()'來包裝流星的反應性,以便有反應的ui :)再次感謝! – Rockettomatoo
是的,通過使用createContainer將我們的組件包裝到容器中,它將使我們的數據成爲被動的。 – SSR