Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

237
Views
TypeError: text.substr no es una función

Estoy tratando de hacer un componente simple para integrarle una función de readmore para reutilizarlo en mi aplicación, pero tengo un problema que no entiendo. Después de varias búsquedas, me pregunto si esto no es una sutileza de NextJS. ¿Alguien tiene una idea? Gracias

 import React, { useState } from 'react'; const ReadMore = ({ limit, children }) => { const text = children; const [isReadMore, setReadMore] = useState(false); const toggleBtn = () => { setReadMore((prevState) => !prevState); }; return ( <div> {isReadMore ? text : text.substr(0, limit)} <button onClick={toggleBtn}> {isReadMore ? 'Réduire' : '... en savoir +'} </button> </div> ); }; export default ReadMore; using readmore in a component
 <ReadMore limit={200}> <p> Lorem ipsum dolor sit amet, consectetur lorem, sed do eiusmod tempor incididunt ut lab lorem. Ut enim ad minim veniam,Lorem ipsum dolor, sit amet consectetur adipisicing elit. Nobis consectetur molestias provident perferendis voluptates veniam accusantium, quibusdam quod, dignissimos iusto, eum error itaque ab harum. Illum sequi neque consequuntur fugit Lorem, ipsum dolor sit amet consectetur adipisicing elit. Distinctio consectetur sit dolores, beatae error ipsum eos est quidem, soluta nobis, perferendis voluptatum? Dolor similique minus assumenda doloremque corrupti aliquam nulla. </p> </ReadMore>````
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Sugeriría agregar text como accesorio y no usar niños ya que los niños no son una cadena (como señaló Akshit ).

 import React, { useState } from 'react'; const ReadMore = ({ limit, text }) => { const [isReadMore, setReadMore] = useState(false); const toggleBtn = () => { setReadMore((prevState) => !prevState); }; return ( <div> <p> {isReadMore ? text : text.substr(0, limit)} </p> <button onClick={toggleBtn}> {isReadMore ? 'Réduire' : '... en savoir +'} </button> </div> ); }; export default ReadMore; // <ReadMore limit={200} text={text}>

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!