javascript – Como posso evitar erros do tipos com yield no TypeScript na criação de um SagaMiddleware?

Estou estruturando um projeto com React usando Redux-Saga e TypeScript, porém me deparei com um problema de tipos que não estou conseguindo resolver.

Eu tenho um arquivo rootSaga.ts, que exporta meus sagas da seguinte forma:

export default function * rootSaga() {
  return yield all((
    takeLatest(SettingsTypes.Record, sagaRecordSettings)
  ));
}

Este arquivo está dando um erro 'yield' expression implicitly results in an 'any' type because its containing generator lacks a return-type annotation. na linha deste return. Eu tentei solucionar esse erro adicionando o tipo Generator para o retorno da função rootSaga:

export default function * rootSaga(): Generator {

Com isso eu consegui parar o erro neste arquivo, porém tenho outro arquivo que importa essa função para criar um SagaMiddleware:

const sagaMiddleware = createSagaMiddleware(rootSaga);

E neste arquivo ele aponta o erro Type '() => Generator<unknown, any, unknown>' has no properties in common with type 'SagaMiddlewareOptions<object>'. para o parâmetro rootSaga passado para a função createSagaMiddleware. E antes de incluir o tipo Generator no rootSaga.ts, esse arquivo já apresentava um erro semelhante: Type '() => Generator<AllEffect<ForkEffect<never>>, any, unknown>' has no properties in common with type 'SagaMiddlewareOptions<object>'.

Até o momento não consegui encontrar uma solução para este problema seja relacionada aos tipos ou à alguma configuração do tsconfig.json. Preciso que a tipagem funcione sem erros para ambos os arquivos. Se alguém puder ajudar com isso por gentileza, agradeço imensamente!

Obs.: Caso seja pertinente eu compartilhar mais algum trecho do código, por favor avisem nos comentários.

javascript – CRSF protection in Next.js applications

So, I am trying to add CSRF protection to my Next.js application. I have tried a development branch of the next-csrf library.
I have a couple of questions though:

  1. The library saves the CSRF token as a cookie. Is this secure? Isn’t it vulnerable to session hijacks?
  2. Shall I refresh the token in every page? If I choose to do so, is there a point in saving the token as a cookie?

In general I am confused on whether the CSRF token should be a cookie or a HTTP header. Also, when shall I generate a new token?

Thanks for reading this!

javascript – Casi tengo un paginador con comentarios pero me falla algo en el mounted (vue.js)

Este es el HTML:


<div>
    <nav>
        <ul class="pagination">
            <li @click.prevent="paginaAnterior"><a href="#">Anterior</a></li>
            <li @click.prevent="contenidoPagina(pagina)" v-for="pagina in totalPaginas()" class="page-item"><a href="#">{{ pagina }}</a></li>
            <li @click.prevent="paginaSiguiente"><a href="#">Siguiente</a></li>
        </ul>
    </nav>
    <article class="caja__articulo-noticias" v-for="item in datosPaginados">
        <p>
            {{ item.nombre }} {{ item.fields.Nombre }} {{ item.apellido }} {{ item.fields.Apellidos }}
        </p>
        <p>
            {{ item.comentario }} {{ item.fields.Comentario }}
        </p>
    </article>
</div>



Y este es el vue.js. Me gustaría que los comentarios de las primera página se visualizarán nada más 
cargue la página.



mounted: function () {
 this.obtenerDatosNoticia2();
 this.contenidoPagina(1); // no me muestra la primera página :(
 },
methods: {
 totalPaginas: function () {
    return Math.ceil(this.infosNoticia2.length / this.elementosPorPagina);
 },
contenidoPagina: function(numeroPagina){
    this.paginaActual = numeroPagina;
    this.datosPaginados = ();
    let inicio = (numeroPagina * this.elementosPorPagina) - this.elementosPorPagina;
    let fin = (numeroPagina * this.elementosPorPagina);
    this.datosPaginados = this.infosNoticia2.slice(inicio,fin);
},
paginaAnterior: function () {
    if(this.paginaActual > 1) {
        this.paginaActual = this.paginaActual - 1;
    }
    this.contenidoPagina(this.paginaActual);
},
paginaSiguiente: function () {
    if(this.paginaActual < this.totalPaginas()) {
        this.paginaActual = this.paginaActual + 1;
    }
    this.contenidoPagina(this.paginaActual);
}

}

Para poneros en contexto estoy haciendo un blog de música. En este he creado un apartado con noticias
relacionadas con artistas, canciones… y al final de la página la gente puede añadir comentarios
sobre la noticia que estén viendo. El paginador me funciona bien, el problema es que cuando cargo
la pagina me aparece directamente el paginador, es decir, 1, 2, 3, 4… y a mí me gustaría que también
apareciese la primera de las páginas con sus respectivos comentarios.

javascript – No puedo obtener la URL de mi imagen en la versión angular 11

import { Component, OnInit, ElementRef, ViewChild} from '@angular/core';
import { UploadScriptsService } from 'src/app/services/upload-scripts.service';
import { finalize } from 'rxjs/operators';
/*importo el servicio conectionService para mandar datos*/
import { ConectionService } from 'src/app/services/conection.service';
/*importo el Storage de firebase */
import { AngularFireStorage } from '@angular/fire/storage';
import { Observable } from 'rxjs';

@Component({
  selector: 'app-add-card',
  templateUrl: './add-card.component.html',
  styleUrls: ('./add-card.component.css')
})
export class AddCardComponent implements OnInit {


  private script: UploadScriptsService = new UploadScriptsService;
  @ViewChild('imageUser') inputImageUser: ElementRef | undefined;

  /*Variables con las cuales envio los datos para cargar a firebase*/
  item: any = {
    title: '',
    text: '',
    image: ''
  };

  imageSrc: string = "";
  userFile: any;
  imageSelected: any;

/*  DECLARO LAS VARIABLES PARA PODER ENVIAR LA IMAGEN Y OBTENER SU URL */
  imgUrl: Observable<string | any>; 
  uploadPercent: Observable<number | any>; 
  

  constructor(private conection: ConectionService, private storage: AngularFireStorage) {
    this.uploadPercent = new Observable;
    this.imgUrl = new Observable;
  }

  


  ngOnInit(): void {
    this.script.cargaScripts(("uploadCard"))
  }


  addCard() {
    this.conection.addCard(this.item);
    this.item.title = '';
    this.item.text = '';
    this.item.image = '';

  }

  onUpload(e: any)  {
    /* console.log("subir", e.target.files(0)); */

    const id = Math.random().toString(36).substring(2);
    const file = e.target.files(0);
    const filePath = `imagesCards/${id}`;
    const fileRef = this.storage.ref(filePath);
    //Subo la foto
    const task = this.storage.upload(filePath, file);
    //observo el porcentaje de la carga de la imagen
    this.uploadPercent = task.percentageChanges();

    //obtengo el url de la foto
    task.snapshotChanges().pipe(
      finalize(() => { 
        this.imgUrl = fileRef.getDownloadURL()
      })
      )
      .subscribe()
      
      console.log('My ImageUrl' + this.imgUrl);

  }



}

javascript – How do I config html input for verification code?

I have verification code that is just a 4 digit number (e.g. 3253)
I need the user to type it from its mobile device.

enter image description here

<input inputmode="numeric"  maxlength="4"  placeholder="Code" />

Something like this works but I can still type “.” and “,” on my Android device.

How do I prevent those bad boys (“.“, “,“)?

javascript – Do all dynamically typed languages not support function overloading?

The issue is easier to understand if you consider carefully what it really means to overload a function.

Overloaded methods e.g. in Java are really two completely separate entities; they share no byte code, no address, nothing except their name; and their name isn’t really the same either, since in the compiler symbol table, a print() method for ints and a print() method Strings actually have a mangled name that contains both the user-visible identifier (“print”) and additional information encoding the argument type.

Now contrast this with Javascript, where a print() function really is called print and nothing else. The runtime system only knows that it is a function; what arguments it expects and how it deals with them is entirely defined by the code in the function’s body. Therefore, defining a second function “print” simply overwrites the previous one rather than add a second implementation.

The details vary a bit from language to language, but the gist is, if you don’t have an explicit representation of data types in your compile-time/run-time system, you can’t use them to tell elements of the system apart, and that is why overloading on types is largely restricted to systems with a strong presence of types in the language definition.

javascript – Cambiar estado de un botón para interactuar con menu web

Me explico tengo una página web en la que debo interactuar con los elementos de un menu y debo mostrarlos y ocultarlos, en funcion de la opcion que elija en un menú en una página aparte, en este menú cada uno de los items,debería tener dos opciones, activar y desactivar para cada item dado.

Por ejemplo en mi web tengo un menu que tiene varias secciones, la seccion de contactenos, la seccion de tutoriales y la seccion de blog. si desde este menú deseo mostrar las categorias contactenos y blog en esta página debo elegir que el boton activar se muestre y por lo tanto desactivar se oculte.

Por el momento no tengo programado dicho menú web, pero estoy empezando con la página de configuración y quiero programar que me salga la opcion de activar o desactivar de forma que depués pueda trabajar con esta opción y asignarla a mi menu en otra página.

Tengo este código:

//seleccion ID
    let noticiasCambio = $("a#noticiasActivar");
    let noticiasDesactivar = $("a#noticiasDesactivar");
    let contactoCambio = $("a#contactoActivar");
    let contactoDesactivar = $("a#contactoDesactivar");
    let blogCambio = $("a#blogActivar");
    let blogDesactivar = $("a#blogDesactivar");
    //configuracion de las acciones de los botones
    $(function() {
    //blog
    if ($(blogCambio).length > 0) {
            $('a').click(blogCambio, function(e) {
                e.preventDefault();
                console.log("hola");
                blogCambio.removeClass('btn btn-info').addClass('btn btn-danger').removeAttr('id').attr('id', 'blogDesactivar').html('Activar');
            });
        } else if ($(blogDesactivar).length > 0 && $(blogoCambio).length < 0) {
            $('a').click(blogDesactivar, function(e) {
                e.preventDefault();
                console.log("adios");
                blogDesactivar.removeClass('btn btn-danger').addClass('btn btn-info').removeAttr('id').attr('id', 'blogActivar').html('Desactivar');
            });
        }
    //contacto
    if ($(contactoCambio).length > 0) {
            $('a').click(contactoCambio, function(e) {
                e.preventDefault();
                console.log("hola");
                contactoCambio.removeClass('btn btn-info').addClass('btn btn-danger').removeAttr('id').attr('id', 'contactoDesactivar').html('Activar');
            });
        } else if ($(contactoDesactivar).length > 0 && $(contactoCambio).length < 0) {
            $('a').click(contactoDesactivar, function(e) {
                e.preventDefault();
                console.log("adios");
                contactoDesactivar.removeClass('btn btn-danger').addClass('btn btn-info').removeAttr('id').attr('id', 'contactoActivar').html('Desactivar');
            });
        }
        //noticias
        if ($(noticiasCambio).length > 0) {
            $('a').click(noticiasCambio, function(e) {
                e.preventDefault();
                console.log("hola");
                noticiasCambio.removeClass('btn btn-info').addClass('btn btn-danger').removeAttr('id').attr('id', 'noticiasDesactivar').html('Activar');
            });
        } else if ($(noticiasDesactivar).length > 0 && $(noticiasCambio).length < 0) {
            $('a').click(noticiasDesactivar, function(e) {
                e.preventDefault();
                console.log("adios");
                noticiasDesactivar.removeClass('btn btn-danger').addClass('btn btn-info').removeAttr('id').attr('id', 'noticiasActivar').html('Desactivar');
            });
        }
    });
<!DOCTYPE html>
<html>
<head>
<script src="https://code.jquery.com/jquery-3.5.0.js"></script>
</head>
<body>
<div class="col-lg-11">
    <h2>Configuracion</h2>
</div>
<table class="table table-bordered">
    <tr>
        <th>Opciones</th>
        <th width="200px">Acciones</th>
    </tr>
    <tr>
        <td>
            Blog
        </td>
        <td>
            <a class="btn btn-info" href="" id="blogActivar">Desactivar</a>
        </td>
    </tr>
    <tr>
        <td>
            Contactenos
        </td>
        <td>
            <a class="btn btn-info" href="" id="contactoActivar">Desactivar</a>
        </td>
    </tr>
    <tr>
        <td>
            Noticias
        </td>
        <td>
            <a class="btn btn-info" href="" id="noticiasActivar">Desactivar</a>
        </td>
    </tr>
    </table>
    </body>
</html>

Pero no funciona de forma adecuada, ya que si pulsas un boton , hace el mismo resultado para los demás botones y a continuación si pulsamos activar nunca funciona.
Como podría conseguir este efecto de forma que depués pudiera seguir trabajando con algún tipo de variable o algo similar para asignarle a mi futuro menú para mostrarlo u ocultarlo?

javascript – ¿Cómo puedo cargar una pagina dentro de un div de forma dinámica, según un menú en html5 y php?

Buen día, estoy intentando cargar una serie de paginas php en otra (que es la principal) según de click el usuario en el menú, el problema que encuentro es que no sé como cargar el contenido de la derecha que es donde necesito mostrar las paginas sin tener que recurrir a copiar y pegar varias veces mi pagina principal con los cambios, según de clic el usuario en una opción. he investigado, pero no se si hay una opción para cargar las parte de la pagina en la cual se pueda hacer por ejemplo. primero el header, después el menú de la izquierda y luego la pagina php que quiero mostrar a la derecha del menú.
¡AGRADEZCO A QUIEN ME RESPONDA!

Esta es la distribución de la pagina principal en booststrap 4.

distribución pagina

javascript – Forward (Firefox) console notifications to another device

javascript – Forward (Firefox) console notifications to another device – Webmasters Stack Exchange

javascript – pergunta extremamente basica estou começando respondam rapido

Obrigado por contribuir com o Stack Overflow em Português!

  • Certifique-se de responder à pergunta. Entre em detalhes sobre a sua solução e compartilhe o que você descobriu.

Mas evite

  • Pedir esclarecimentos ou detalhes sobre outras respostas.
  • Fazer afirmações baseadas apenas na sua opinião; aponte referências ou experiências anteriores.

Para aprender mais, veja nossas dicas sobre como escrever boas respostas.

DreamProxies - Cheapest USA Elite Private Proxies 100 Private Proxies 200 Private Proxies 400 Private Proxies 1000 Private Proxies 2000 Private Proxies ExtraProxies.com - Buy Cheap Private Proxies Buy 50 Private Proxies Buy 100 Private Proxies Buy 200 Private Proxies Buy 500 Private Proxies Buy 1000 Private Proxies Buy 2000 Private Proxies ProxiesLive Proxies-free.com New Proxy Lists Every Day Proxies123