Во-первых, я нашел другую тему об этой ошибке в StackOverflow, но это не помогло мне.
Я пытаюсь сообщить Shiny, когда пользователь входит (или выходит) в системумой веб-сайт, но я получил следующую ошибку:
lwd.js: 8 Uncaught (в обещании) TypeError: Shiny.onInputChange не является функцией в LoginWithDiscord._onlogin (lwd.js: 8) вLoginWithDiscord.init (lwd.js: 39) at (index): 24
Я действительно не могу понять почему, так как Я ИСПОЛЬЗУЮ SHINY.Я попробовал тот же метод на компьютере моей работы, и он работает очень хорошо.
Вот мой код, если вы хотите больше, просто спросите:)
this._onlogin = () => {
let user = discord.fetchUser();
Shiny.onInputChange('discordupfp', user.avatarURL);
Shiny.onInputChange('discorduid', user.id);
Shiny.onInputChange('discordusername', user.username);
};
this._onlogout = () => {
Shiny.onInputChange('discord-logout', 1);
};
server.r:
discordpfp = NULL
discorduid = NULL
discordusername = NULL
lang = "us"
observeEvent(input$discordpfp, {
userpfp = input$discordpfp
})
observeEvent(input$discoruid, {
discorduid = input$discorduid
})
observeEvent(input$discordusername, {
userpfp = input$discordusername
})
discordarea = reactive({
if(is.null(discorduid)){
#No problem on showing my id
tags$button(onClick="discord.login('342488102318637059', Scope.Identify)", class="login-button", "LOGIN")
} else {
tags$img(
src=discordpfp,
class="discord-image",
width="75"
)
div(id="poupup-element",
div(class="discord-poupup",
tags$button(onClick="discord.logout()", class="logout-button", "LOGOUT")
)
)
}
})
output$discordarea = renderUI({
return(discordarea())
})
observeEvent(input$discordlogout, {
discordpfp = NULL
discorduid = NULL
discordusername = NULL
lang = "us"
})