小编Nha*_*hat的帖子

反应.如何从onClick传递道具到功能

我是React的新手,我正在尝试创建一个应用程序,我可以点击一个按钮,一个函数将运行倒计时器,但是如果我从onClick传递道具来开始这样的函数,onClick = {begin(props.subject) )}函数将在我单击之前运行.如果我使用带有begin而没有参数的onClick,则没有传递道具.我该如何解决这个问题?谢谢

import React from 'react';
import SubjectForm from './SubjectForm';

const EditSubject=(props)=>{
    return(
        <div>
        <button onClick={begin}>start</button>
        </div>)
};

const begin = (props)=> {
   console.log(props.subject)
}

const mapStateToProps=()=>{};

export default connect(mapStateToProps)(EditSubject);
Run Code Online (Sandbox Code Playgroud)

另外,有没有办法或技巧在外部函数中使用begin函数内的变量?所以我可以制作一个暂停按钮来暂停开始功能中的seInterval.

global-variables onclick connect setinterval reactjs

2
推荐指数
1
解决办法
1万
查看次数

在我的情况下,单击提交后如何清除输入字段以进行反应?

谁能告诉我在我的主页组件上单击提交后如何清除所有输入?我尝试在 subjectForm 组件中的 preventdefault 之后使用 reset() 但是我用错了它或者它不起作用。我还尝试使用 setState 并将我的输入恢复为空的默认状态,但它也不起作用。

我的代码中的所有内容都可以正常工作,但是每次我提交主题时,该字段都不会自行清除

这是我的主页组件。

    import React from 'react';
    import SubjectForm from './SubjectForm';
    import {addSubject} from '../actions/subjectAction';
    import {connect} from 'react-redux';

    const HomePage=({dispatch})=>(
        <div>
             <SubjectForm onSubmit ={(subject)=>
                  dispatch(addSubject(subject))
             }/>
</div>
    )

    export default connect()(HomePage);
Run Code Online (Sandbox Code Playgroud)

这是我的 subjectForm 组件

import React from 'react';

export default class SubjectForm extends React.Component{
    constructor(props){
        super(props);
        this.state={...} 
    onNameChange =(e)=>{...}  
    onHourChange =(e)=>{...}

    onSubmit=(e)=>{
        e.preventDefault();

        **//I tried using reset() here but it did not work**

        if(!this.state.subjectName){...}

    render(){
        return (
            <div>
                {this.state.error && <p>{this.state.error}</p>} …
Run Code Online (Sandbox Code Playgroud)

components reset reactjs

0
推荐指数
1
解决办法
9920
查看次数