-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
7fc1d77 以降に更新するとタイムラインが正常に表示・操作できなくなる #13219
Comments
なんか無限ループが走ってそう |
vue 3.4.16以降がだめ |
vuejs/core#10214 / vuejs/core#10232 に関係がありそう |
|
tasukete |
3.4.15にするか |
|
あーそれはアカンわね |
なんで今まで動いてたんだろう() |
むしろなぜ今まで動いてたのか |
じゃあどう対応すればいいのかしら(これ構造的にお互いに影響し合う値なので…)(watch使うとか?) |
computedじゃなくてただのfunctionを作って見れば良いんじゃないかしら |
// computed内での無限ループを防ぐためのフラグ
const localSocialTLFilterSwitchStore = ref<'withReplies'|'onlyFiles'|false>('withReplies');
const withReplies = computed<boolean>({
get: () => {
if (!$i) return false;
if (['local', 'social'].includes(src.value) && localSocialTLFilterSwitchStore.value === 'onlyFiles') {
return false;
} else {
return defaultStore.reactiveState.tl.value.filter.withReplies;
}
},
set: (x: boolean) => saveTlFilter('withReplies', x),
});
const onlyFiles = computed<boolean>({
get: () => {
if (['local', 'social'].includes(src.value) && localSocialTLFilterSwitchStore.value === 'withReplies') {
return false;
} else {
return defaultStore.reactiveState.tl.value.filter.onlyFiles;
}
},
set: (x: boolean) => saveTlFilter('onlyFiles', x),
});
watch([withReplies, onlyFiles], ([withRepliesTo, onlyFilesTo]) => {
if (withRepliesTo) {
localSocialTLFilterSwitchStore.value = 'withReplies';
} else if (onlyFilesTo) {
localSocialTLFilterSwitchStore.value = 'onlyFiles';
} else {
localSocialTLFilterSwitchStore.value = false;
}
}); これでいけた |
↑functionが無限ループするだけだわ |
そのような構造にしないのが正攻法 |
(#13219 (comment)) の方法はどう? |
|
(もしくはそういうcomputedにしちゃうとか |
なるほど(リアクティブにやってくれるのかしら)
これはMkPopupMenuから値のセットができなくなる(そのために煩雑な処理を追加する必要がありそう)のであかんかも |
とりあえずなおした #13248 |
(MkSwitch、popupが呼ばれるごとに新しくref/computedを作るのがベターではあったりする) |
💡 Summary
7fc1d77 以降に更新するとタイムラインが正常に表示・操作できなくなる
🥰 Expected Behavior
すべてがうまくいく
🤬 Actual Behavior
TLが表示できなくなりTL切り替えやページ遷移なども作動せずコンソールにエラーが残る
ユーザーページや個別投稿のURLを直接開くことは可能
コンソールログ
a1.miclear.casa-1707482555884.log
_.Ver.A1.37.-.-.Microsoft_.Edge.2024-02-09.mp4
📝 Steps to Reproduce
💻 Frontend Environment
🛰 Backend Environment (for server admin)
Do you want to address this bug yourself?
The text was updated successfully, but these errors were encountered: