Laravel изменить профиль API дает нулевое значение

Пожалуйста, найдите ниже рабочий код: Это очень простой способ навигации с помощью реагирующего маршрутизатора:

class Register extends React.Component {
  state = {
    toDashboard: false,
  }
  handleSubmit = (user) => {
    saveUser(user)
      .then(() => this.setState(() => ({
        toDashboard: true
      })))
  }
  render() {
    if (this.state.toDashboard === true) {
      return <Redirect to='/dashboard' />
    }

    return (
      <div>
        <h1>Register</h1>
        <Form onSubmit={this.handleSubmit} />
      </div>
    )
  }
}

& lt; Redirect /> is

Композитный ✅ Декларативный ✅ пользовательское событие -> изменение состояния -> повторная рендеринга ✅

Регистрирующий компонент визуализируется React Router, наш код может выглядеть следующим образом:

class Register extends React.Component {
  handleSubmit = (user) => {
    saveUser(user).then(() =>
      this.props.history.push('/dashboard')
    ))
  }
  render() {
    return (
      <div>
        <h1>Register</h1>
        <Form onSubmit={this.handleSubmit} />
      </div>
    )
  }
}

, добавляя withRouter, это будет выглядеть так

import {
  withRouter
} from 'react-router-dom'

class Register extends React.Component {
  handleSubmit = (user) => {
    saveUser(user).then(() =>
      this.props.history.push('/dashboard')
    ))
  }
  render() {
    return (
      <div>
        <h1>Register</h1>
        <Form onSubmit={this.handleSubmit} />
      </div>
    )
  }
}

export default withRouter(Register)

Существует два способа программной навигации с помощью React Router - и history.push. Что вы используете, в основном зависит от вас и вашего конкретного варианта использования, хотя я стараюсь использовать Redirect.

1
задан Dinesh Vishwakarma 2 March 2019 в 06:29
поделиться

2 ответа

Этот код работает для меня .....

fileUploadController.php открытая функция changeProfile (запрос $ запрос, $ id) {

         $updateuser = User::find($id);

        if ($request->hasFile('image')) {
               $images = $request->file('image');
               $destinationPath = public_path('files');
               $imageName = time().'.'.$images->getClientOriginalExtension();
               $images->move($destinationPath, $imageName); 
               $updateuser->image= $imageName;
            }else{
              $updateuser->image= '';
            }

      $updateuser->update();

       return ['message' => 'Image Uploaded Successfully'];
     }
0
ответ дан Dinesh Vishwakarma 2 March 2019 в 06:29
поделиться
public function changeProfile(Request $request,$id){

    $this->validate($request, [

        'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',

    ]);

     $updateuser = User::find($id);
    if($request->hasFile('image'))
    {
        $filewithext = $request->file('image')->getClientOriginalName();
        $ext = $request->file('image')->getClientOriginalExtension();
        $fileToStrore = $filewithext;
        $path = $request->file('image')->storeAs('public/files',$fileToStrore);
        $updateuser->image = $fileToStrore;
    }


    $updateuser->save();
    return $updateuser;

 }

Этот код работает для меня. Я надеюсь, что это сработает и для вас ... Удачи ..

0
ответ дан Chandni Soni 2 March 2019 в 06:29
поделиться