2017-02-22 46 views
0

我在我的反應應用程序中有一個表單。我想從用戶的表單中捕獲輸入並將文本存儲在狀態屬性中,然後將文本發送回我的服務器。我遵循了基本的DraftJS教程,但它在我的狀態下給了我一張地圖,而不僅僅是發送回服務器所需的文本。從草稿中的用戶獲取輸入的文本

constructor(props) { 
     super(props); 
     this.state = { 
      name: '', 
      teamName: '', 
      editorState: EditorState.createEmpty(), 
      teamId: '', 
      uploadedFileCloudinaryUrl: '' 
     }; 
     this.handleChange = this.handleChange.bind(this); 
     this.handleSubmit = this.handleSubmit.bind(this); 
     this.onChange = (editorState) => this.setState({ editorState }); 
    } 

<Editor editorState={this.state.editorState} onChange={this.onChange} /> 

是否有什麼特別的我得做從編輯器中獲取文本?

+0

你能告訴你如何嘗試發送文本到服務器?到目前爲止,您的代碼只是捕獲編輯器的狀態。 –

+0

我只是從我的表單元素的狀態創建一個對象,然後發佈數據,但我的服務器將接受一個字符串,而不是一個編輯器實例 –

回答

1

看來你想發送一個對象到服務器,而你的服務器只接受字符串。在這種情況下,您可以使用JSON.stringify。因此,要將編輯器狀態發送到服務器,您需要運行sendToSeverFunction(JSON.stringify(this.props.editorState)),然後解碼服務器中的字符串。