2015-01-12 2 views
1

노드 서버에서 반응 구성 요소 내에 양식을 만들려고하는데 onSubmit attr이 컴파일되지 않습니다. 어떤 생각? 여기 내 코드입니다 :오류 : reactjs jsx 렌더링 방법에서 onSubmit이 작동하지 않습니다.

/** @jsx React.DOM **/ 

var React = require('react'); 


module.exports = UserForm = React.createClass({ 
    handleSubmit: function (e) { 
     e.preventDefault(); 
     console.log("teste"); 
    }, 

    render : function() { 
     return (
      <div className="container"> 
       <form onSubmit= { this.handleSubmit } className="section"> 

        <button className="btn waves-effect waves-light" type="submit"> 
         Entrar 
         <i className="mdi-content-send right"></i> 
        </button> 
       </form> 
      </div> 
     ) 
    } 
}); 

이 렌더링 코드 출력이됩니다 :

<div class="container" data-reactid=".1vxqgp72xa8" data-react-checksum="-1342114635"> 

    <form class="section" data-reactid=".1vxqgp72xa8.0"> 
     <button class="btn waves-effect waves-light" type="submit" data-reactid=".1vxqgp72xa8.0.1"> 
      <span data-reactid=".1vxqgp72xa8.0.1.0">Entrar</span> 
      <i class="mdi-content-send right" data-reactid=".1vxqgp72xa8.0.1.1"></i> 
     </button><div class="preloader-wrapper big active" data-reactid=".1vxqgp72xa8.0.2"> 
    </form> 
</div> 

이 바보 같은 오류가있을 수 있습니다, 누군가가 도움을 줄 수 나를 그것을 발견?

고맙습니다.

+0

에 오신 것을 환영합니다 SO에^^ – naomik

답변

1

간단히 말해 콜백을 제공하지 않습니다. 그것은 다음과 같아야합니다

<form onSubmit={ this.handleSubmit } className="section"> 

편집 : 의견에 약간의 논의는, 당신이 브라우저에 서버 렌더링 된 HTML을 사용한 후에는 프런트 엔드에 응용 프로그램을 설치하지 않았다 분명 해졌다 후 . . 페이지가 호출이로드 된 후 :

React.render(React.createElement(UserForm, {}), domElement); 
+0

당신의 대답은 내 질문에 업데이 트를,하지만 여전히 작동하지 않습니다, 나는 이벤트의 서버 측 렌더링 문제에 대해 뭔가를 읽어 보시기 바랍니다. 이게 뭔가 관련 될 수 있니? –

+0

버튼 대신 을 사용하면 어떨까요? – Shawn

+0

또한 앱 서버 쪽을 렌더링하는 경우 앱 클라이언트 쪽도 마운트하고 있습니까? 둘 다해야합니다. componentDidMount 핸들러를 추가하고 앱이 실행 중인지 확인하십시오. – Shawn