احسان
7 سال پیش توسط احسان مطرح شد
3 پاسخ

نحوه redirect کردن به یک router دیگه توسط react-router-redux

سلام .
من میخوام موقعی که یک action انجام میشه و دیتا از api گرفته میشه . اطلاعات این دیتا رو در یک آدرس دیگری از روتر render کنم .
و ذهنیتی از اینکه این مورد باید در action باشد و یا در reducer باشد ندارم . ممنونم میشم از دوستان که راهنماییم کنن .


ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 7 سال پیش آپدیت شد
1

خوب موضوع خاصی نیست شما در روتی که هستید اطلاعات رو وارد state های redux میکنید و بعد از اتمام اینکار به روتی که میخواد میرید چون اطلاعات در redux تغییر پیدا میکنه به هر روتی که بره همون اطلاعات تغییر پیدا کرده نمایش داده میشه .
البته مثالی هم زده خود react-router-redux

import { createStore, combineReducers, applyMiddleware } from 'redux';
import { routerMiddleware, push } from 'react-router-redux'

// Apply the middleware to the store
const middleware = routerMiddleware(browserHistory)
const store = createStore(
  reducers,
  applyMiddleware(middleware)
)

// Dispatch from anywhere like normal.
store.dispatch(push('/foo'))

احسان
@ehsan0fahamy 7 سال پیش مطرح شد
0

حسام جان ممنونم از راهنمایی .
من خب داخل اکشن خودم دو dispatch رو صدا زدم که یک مورد آن دایرکت میشه . ولی خب مشکل اینجاست که دگمه ای که کلیک میشه داخل یک تگ فرم هستش که از onSubmit در اون استفاده شده و دگمه هم از تایپ submit استفاده شده . و در نتیجه وقتی که دایرکت میشه وارنینگی نمایش داده میشه :
Form submission canceled because the form is not connected
که سرچی هم داخل گوگل داشتم که میگه تایپ دگمه رو button بزارید .. خب اگر من این کار رو انجام بدم خیلی از فانکنش هام هم باید تغییر کند و عملا تگ فرم من هم بلااستفاده میمونه . راه حلی هست آیا ؟


حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 7 سال پیش مطرح شد
1

اها یعنی نمیخواین به هیچ صفحه ای بره زمانی که روی submit
اگر منظورتون اینه میتونید از

event.preventDefault()

استفاده کنید که نمیزاره submit اجرا بشه و به هیچ جای نمیره .


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام