जब मैं onChange() से userInput प्राप्त करता हूं और इसे बच्चे के घटक को पास करने का प्रयास करता हूं तो यह प्रारंभिक मान पर रखने के बजाय अद्यतन नहीं हो रहा है। मैं इनपुट फ़ील्ड से स्ट्रिंग को टेंसर-फ्लो टॉक्सिक मॉडल नामक चाइल्ड कंपोनेंट में पास करने की कोशिश कर रहा हूं, हालांकि शुरू में सेट होने के बाद TensorFlowToxidModel की स्थिति नहीं बदलती है। इसलिए मैं moddl नहीं चला सकता।

class TensorFlowToxicModel extends React.Component<{}, ToxicityModelProp> {
  constructor(props: userInput) {
    super(props);
    this.state = {
      modelObjectArray: [],
      userSentence: props.userSentence,
    };
  }      
  componentDidUpdate(){
    console.log("This is from TensorFlowToxicModel Compononent")
    console.log("This is the sentence ", this.state.userSentence )
  }
  renderThePost = () => {
    let output = cleanMlOutput(this.state.userSentence)
    return output
  };
  render() {
    return (
      <div>
        <p>This is a Checker Does this even work</p>
      </div>
    );
  }
}

class InputField extends React.Component<{}, userInput> {
  constructor(prop: inputFromField) {
    super(prop);
    this.state = {
      userSentence: "",
    };
  }
 
  handleChange = (event: React.FormEvent<HTMLInputElement>): void => {
    let userInputData: string = event.currentTarget.value;
    //console.log(event.currentTarget.value);
    
    this.setState({
      userSentence: userInputData,
    }); 
  };

  render() {
    const userSentence = {
      userSentence:this.state.userSentence
    }
    //Instead of updating TensorFlowToxicModel Each time from inside its own compnoent 
    //Call it here each time user types something
    return (
      <div>
        <input id="inputField" onChange={this.handleChange} />
        <h4>{this.state.userSentence}</h4>
        
        <TensorFlowToxicModel {...userSentence}/>
        
      </div>
    );
  }
}

प्रकार

    type modelObject = { label: string; resultMatch: boolean; resultProbablity: number; }; 
type ToxicityModelProp = { userSentence: string; modelObjectArray : modelObject[] } 
0
Sam 26 अक्टूबर 2020, 22:12

1 उत्तर

सबसे बढ़िया उत्तर

आपने prop प्रकार ToxicityModelProp खो दिए हैं। यह पहले होना चाहिए। कॉम्पोनेंट प्रॉप्स, स्टेट टाइप्स के बारे में जानकारी के लिए यह docs पढ़ें

type ToxicityModelProp = { userSentence: string } 
type ToxicityModelState = { modelObjectArray: [] }


class TensorFlowToxicModel extends React.Component<ToxicityModelProp, ToxicityModelState> {
  constructor(props: userInput) {
    super(props);
    this.state = {
      modelObjectArray: []
    };
  } 
  renderThePost = () => {
    let output = cleanMlOutput(this.props.userSentence)
    return output
  };
  render() {
    return (
      <div>
        <p>Sentence is: { this.props.userSentence }</p>
      </div>
    );
  }
}

मैंने आपके कोड में कुछ बदलाव किए हैं और यहां अपडेट किया है। इसकी जांच - पड़ताल करें

1
Naren 26 अक्टूबर 2020, 23:30