Tengo un componente que usa la biblioteca tagify. Recibo un error que indica que tagify.on no es una función.
¿Cómo hago el .on en React? ¿Cómo agrego estos métodos .on a este componente tagify que estoy creando?
¿Los hago todos constantes y funciones de flecha?
const tagify = new Tagify(tagsInput, { // mixTagsInterpolator: ["{{", "}}"], mode: 'mix', pattern: /@|#/, here) tagTextProp: 'text', whitelist: fields.map(function(item) { return typeof item == 'string' ? { value: item } : item }), dropdown: { enabled: 1, position: 'text', mapValueTo: 'text', highlightFirst: true }, callbacks: { add: console.log, // callback when adding a tag remove: console.log // callback when removing a tag } }); let tagsInput = createRef(); tagify.on('input', function(e) { < -- - this is giving error tagify.on is not a function const prefix = e.detail.prefix; if (prefix) { if (e.detail.value.length > 1) tagify.dropdown.show(e.detail.value); } console.log(tagify.value) console.log('mix-mode "input" event value: ', e.detail) }); tagify.on('add', function(e) { < -- - this is giving error tagify.on is not a function console.log(e) });Tenía algo similar al tuyo. Sugerencia:
let tagsInput = createRef(); ). Llámalo configureTagify o lo que sea..
useEffect(() => { ... configureTagify(); ... }, []);Cuidando los documentos,
El método .on se proporciona para jQuery, no lo necesita. Puede usarlo en devoluciones de llamada:
callbacks: { "input": (e) => console.log(e.detail))