A diario uso vue.js, pero ahora mismo estoy trabajando en un proyecto de reacción. Tengo este método de traducción:
function __(key, replace = null) { let translation, translationNotFound = true; try { translation = key.split('.').reduce((t, i) => t[i] || null, window._translations[window._locale].php); if (translation) { translationNotFound = false; } } catch (e) { translation = key; } if (translationNotFound) { translation = window._translations[window._locale]['json'][key] ? window._translations[window._locale]['json'][key] : key; } if (replace) { replace.forEach((value, key) => { translation = translation.replace(':' + key, value); }); } return translation; }En vue, estoy usando un mixin para esto, por lo que se puede usar en todas partes. ¿Cómo puedo asegurarme de que puedo usar este método en mis componentes de reacción?
Ya hay muchos artículos rojos en línea, pero no puedo entenderlo.
Solo exporta tu función
const myFunction = (key, replace = null) => { let translation, translationNotFound = true; try { translation = key.split('.').reduce((t, i) => t[i] || null, window._translations[window._locale].php); if (translation) { translationNotFound = false; } } catch (e) { translation = key; } if (translationNotFound) { translation = window._translations[window._locale]['json'][key] ? window._translations[window._locale]['json'][key] : key; } if (replace) { replace.forEach((value, key) => { translation = translation.replace(':' + key, value); }); } return translation; } export default myFunction;Cuando quieras importar
import myFunction from 'path/to/the/file'