2016-10-28 9 views
0

Reactjを使用しています。私は名前のプロパティだけで私のデータベースonSubmitを設定するフォームを持っています。データの挿入が成功したと仮定すると、どのように私はリンク先のページにジャンプして約束していますか?私のランディングページのURLはシンプルな '/'です。または私は約束どころではなく、他の場所のリンク先ページに戻る必要があります。Reactを使用してPromiseのページを変更するには

const React = require('react') 
 
const axios = require('axios') 
 

 
class AddNewRecordLabel extends React.Component { 
 
    constructor (props) { 
 
    super(props) 
 
    this.state = ({ 
 
     artists: [] 
 
    }) 
 
    this.onSubmit = this.onSubmit.bind(this) 
 
    } 
 
    componentDidMount() { 
 
    axios.get('http://localhost:5050/recordLabels') 
 
    .then((res) => { 
 
     this.setState({ 
 
     artists: res.data 
 
     }) 
 
    }) 
 
    } 
 
    onSubmit (e) { 
 
    e.preventDefault() 
 
    if (!this.refs.name.value) { 
 
     console.log('fill in the name input') 
 
    } else { 
 
     var object = { 
 
     name: this.refs.name.value 
 
     } 
 
     axios.post('http://localhost:5050/recordLabels', object) 
 
     .then((res) => { 
 
     //change here 
 
     }) 
 
    } 
 
    } 
 
    render() { 
 
    return (
 
     <div> 
 
     <h3>add new record label</h3> 
 
     <form onSubmit={this.onSubmit}> 
 
      <label> 
 
      <input type='text' ref='name' placeholder='name'/> 
 
      </label> 
 
      <br></br> 
 
      <button type='submit'> Add Record Label </button> 
 
     </form> 
 
     </div> 
 
    ) 
 
    } 
 
} 
 

 
module.exports = AddNewRecordLabel

答えて

0

通常、あなたのコンポーネントを制御するためのディスパッチャ、アクションや店舗を利用し、フラックスパターンを使用してライブラリを作成します。多くの時間を節約したいのであれば、反応還元と反応フラックスのようなフラックスパターンを使ったライブラリがあります。

私は前に自家発電フラックスパターンを使用しました。私はかなり使いやすいだけでなく、私の個人的な経験から開発するかなり迅速にreduxを使用しています。そこには素晴らしい文書とコミュニティからの多くのサポートがあります。

単純なままにしたい場合は、ホームページに戻るなどのオプションを与えるフォームを置き換えるメッセージを返す、またはフォームを残してメッセージを返すなど、戦略を再考することができます。別のレコードラベルを追加します。また、エラーがあるかどうかを確認し、応答に基づいて失敗した理由を示す何らかのメッセージを表示したい場合もあります。あなたがホームページに戻りたい場合は、単にあなたの約束にこれを追加することができます...

window.location.href = '/' 

...しかし、理想的に、あなたがして、あなたのサービスが別のファイルに呼び出しを移動すると応答を返すようにしたいでしょうそれに応じてコンポーネント内のレスポンスに対処してください。一般的に推奨されるアプローチは、ディスパッチャとリスナーがそれを行い、このコンポーネント内の州または小道具を更新することです。

関連する問題