Estoy trabajando en una aplicación de reacción en la que tengo que formatear una fecha en formato DD-MM-YYYY y enviarla como un parámetro a mi API.
Aquí está mi código:
const params = this.props.listParams; const startDate = params.start_date.format('YYYY-MM-DD'); const endDate = params.end_date.format('YYYY-MM-DD'); params.start_date = startDate; params.end_date = endDate; console.log(startDate, endDate); estructura listParams :
const defaultListParams = { start_date: '', end_date: '', msg_id: '', page_num: 1, page_size: 5, }; Aquí listParams tiene todos los parámetros para mi api, start_date y end_Date, ambos son objetos de momento dentro listParams . Los estoy formateando y asignando a las variables startDate y endDate y está funcionando, pero cuando lo reasigno a params.start_date y params.end_date el siguiente error:
index.js?bbc4:258 Uncaught TypeError: date.get is not a function at get$1 (index.js?bbc4:258) at getMonth (index.js?bbc4:366) at DatePicker.componentWillReceiveProps (index.js?bbc4:2450) at callComponentWillReceiveProps (react-dom.development.js?7f13:13389) at updateClassInstance (react-dom.development.js?7f13:13599) at updateClassComponent (react-dom.development.js?7f13:16989) at beginWork$1 (react-dom.development.js?7f13:18502) at HTMLUnknownElement.callCallback (react-dom.development.js?7f13:348) at Object.invokeGuardedCallbackDev (react-dom.development.js?7f13:398) at invokeGuardedCallback (react-dom.development.js?7f13:455)No puedo averiguar cuáles son los errores. Cualquier pista será apreciada.
Además de asignar valores a sus accesorios nuevamente, asigna un valor de cadena a start_date y end_date .
format() le da una representación de cadena del objeto de momento.
Por lo que entiendo más de su registro de errores, es que pasa esta cadena a su selector de fecha que probablemente quiere parámetros como objetos de Date o Moment .
Entonces, si, por ejemplo, params.start_date es una cadena, entonces necesita construir un objeto Moment como moment(params.start_date, 'YYYY-MM-DD') . Si es un objeto Moment (supongo que sí porque no obtiene ningún error sobre format() ), entonces no necesita usar format() .
Porque intentó cambiar los valores de los props que no se pueden escribir.
Mira esto: Los accesorios son de solo lectura
Le sugiero encarecidamente que proporcione más código, porque su error es date.get is not a function , pero no nos proporciona la fecha ni el método get. Creo que es porque estás tratando de llamar al .get en algo que no se puede llamar. Además, intente consola.log (fecha) para ver cuál es esta fecha (:. Y comente de nuevo