React Uncaught TypeError:无法读取未定义的属性“替换”

Posted

技术标签:

【中文标题】React Uncaught TypeError:无法读取未定义的属性“替换”【英文标题】:React Uncaught TypeError: Cannot read property 'replace' of undefined 【发布时间】:2015-04-04 12:40:43 【问题描述】:

我在 React 中将 php 变量转换为 javascript 时遇到问题。

代码如下(内容为西班牙语):

var insertar = "<?php echo $insertar; ?>";

var phpCodeInsertar = React.createClass(

 render : function()

     if(!insertar)

         return(

             <center id='descripcion-registro-fail'>
                 <h1 id='dr-fail-h1'>Error al registrarte</h1>
                 <ul id='dr-fail-ul'>
                     <li>&middot Comprueba que has escrito bien tus datos.</li>
                     <li>&middot Asegurate de que no estás registrado(en caso contrario no puedes hacerlo de nuevo).</li><br></br>
                     <li id='dr-fail-ul-li'>Si ya has realizado los pasos anteriores y el problema sigue apareciendo, ponte en contacto con el <a id='dr-fail-a'>soporte</a>.</li>
                 </ul>
             </center>

         ); 

      else 

         return(

         <center id='descripcion-registro'>
             <h1 id='dr-h1'>Gracias por registrarte.</h1>
             <p id='dr-p'>
                 Se ha enviado un correo de confirmación a tu email,<br></br>
                 entra en el enlace que hay en él y sigue las instrucciones para<br></br>
                 confirmar tu cuenta.
             </p>
         </center>

         );

     

 

);

我的问题是: 当我呈现页面时,我看到以下消息: Uncaught TypeError: Cannot read property 'replace' of undefined.

我认为 React 检测到“insertar”(一个 bool php 变量)就像 undefined。

如何让 React 正确检测“插入”?

【问题讨论】:

从错误中,听起来您正在尝试在未定义的变量上调用 .replace() ,但我没有看到该代码。根据您发布的内容,我认为插入器没有问题。即使它是空的,它也应该是 if 语句中的原因。示例:jsfiddle.net/yq4hvyxj 相关:***.com/questions/23354554/… 和 ***.com/questions/23259064/… 【参考方案1】:

这不是你的 php->javascript 变量的问题

React 类(组件)名称应为以 大写开头的 Camel Cased 所以改变

phpCodeInsertar
为此:
PhpCodeInsertar

【讨论】:

这是否记录在任何地方? 我到处搜索,我找不到这个文档 关于命名的一些事情:gist.github.com/sebmarkbage/f1f4ba40816e7d7848ad

以上是关于React Uncaught TypeError:无法读取未定义的属性“替换”的主要内容,如果未能解决你的问题,请参考以下文章

Uncaught TypeError: _react2.default.createContext is not a function

React Uncaught TypeError:this.state.messages.map 不是函数

React-Redux:Uncaught TypeError:无法读取未定义的属性“name”

修复React报错“Uncaught TypeError: destroy is not a function”

React/Redux Tools.js:9 Uncaught TypeError: Cannot read property 'map' of null

Uncaught (in promise) TypeError: data.map is not a function (React using axios getting data from ASP