Передача реквизита в реактивных рельсах и установка ссылок
Я пытаюсь создать простой рельс-сервер и отреагировать на приложение внешнего блога. Все шло хорошо, пока я не отредактировал действие, когда пытался редактировать пост. Я не могу установить propTypes и использование ссылок в форме. Я получаю следующую ошибку
[![see the below image link to see the error details][1]][1]
[1]: https://stackru.com/images/be551ec8aef33f4f6c5486a3016502ed59b2f100.png
Я использую реактивные рельсы
вот мой контроллер редактировать и обновлять действия
def edit
@post = Post.find(params[:id])
end
def update
if @post.update(post_params)
render json: { post: @post }
else
render :edit
end
конец
здесь edit.html.erb
<%= react_component 'EditPost', { post: @post.as_json(only: [:id, :title, :body]) } %>
и ниже компонент EditPost, который находится в assets/javascripts/components
class EditPost extends React.Component {
constructor(props) {
super(props)
}
render () {
return (
<div className="row">
<div className="col-md-6 col-md-offset-3">
<h3>Post</h3>
<form>
<div className="form-group">
<label htmlFor="title">Title</label>
<input type="text"
className="form-control"
placeholder="title"
ref="title" /> // here I can't set ref
</div> <br />
<div className="form-group">
<label htmlFor="body">Body</label>
<input type="text"
className="form-control"
placeholder="body"
ref="body" /> // here I can't set ref
</div> <br />
</form>
</div>
</div>
)
}
}
// if I uncomment below code I will get (Uncaught TypeError: can not read property 'string' of undefined
// EditPost.propTypes = {
// title: React.PropTypes.string.isRequired,
// body: React.PropTypes.string.isRequired
// }
Вот мое репозиторий Github ( https://github.com/Hano1388/react-rails-blog), не стесняйтесь клонировать его, чтобы увидеть ошибку, которую я получаю. Спасибо, я ценю вашу помощь
1 ответ
React 16 больше не упаковывает propTypes. Попробуйте использовать:
import PropTypes from 'prop-types'
И изменить на PropTypes
вместо React.PropTypes
title: PropTypes.string.isRequired,