У меня в основном есть приложение React, в котором он выбирает, являетесь ли вы мужчиной или женщиной. Если вы мужчина, он ссылается на веб-страницу. В случае с женщиной он ссылается на другую веб-страницу. Но в React я не могу этого сделать.

import React, { Component } from 'react';
import './App.css';
import {Router , Route , browserHistory , Link} from 'react-router'
import Card from './Card.js'
class App extends Component {

constructor(){
  super();
this.state = {
  options : 'none',
  male : false
}

}

  setGender = (event)=>{
    let gender = event.target.value;
   if(gender === 'MALE'){
     this.setState({options : 'male'})

   }else if(gender === 'FEMALE'){
     this.setState({options : 'female'})

   }
   else{
     console.log('not selected')
   }
 }

 optionsSelected = (event)=>{
  if(this.state.options === 'male'){
    console.log('yes it is male');
    console.log(event)

this.setState({male : true});
  }else if(this.state.options === 'female'){
    console.log('yes it is female');

// Not understanding what to do here to link to a page 

  }else{
    console.log('not selected');
  }

 }

  render() {
    return (
      <div>

    <input type="submit" onClick={event => this.optionsSelected(event)}/>

      <div onChange={event => this.setGender(event)}>
            <input type="radio" value="MALE" name="gender"/> Male
            <input type="radio" value="FEMALE" name="gender"/> Female
          </div>
          </div>
    );
  }
}

export default App;

Могу я сделать это browserHistory.push ("/ path-to-link"); - Зайд только что редактировать

Пожалуйста, не голосуйте против, потому что меня могут заблокировать

0
Zaid 16 Фев 2018 в 22:00

1 ответ

Лучший ответ
optionsSelected = (event) => {
    if (this.state.options !== 'none') {
        // redirect to male or female website
        window.location.href = this.state.options === 'male' ? 'http://male.xyz' : 'http://female.xyz';
    } else {
        // show error msg or do other stuff ...
    }
}
1
eXcoo 16 Фев 2018 в 22:20