你好,我正在使用 react 路由器,我需要传递一些查询字符串参数
试过
<Route path="/result/:type?/?filter=:filter?" exact strict component={Result}/>
Run Code Online (Sandbox Code Playgroud)
我期待捕捉像这样的网址
/result
/result/animals
/result/cars
/result/animals?filter=cats,dogs
/result/cars?filter=sedan,truck
Run Code Online (Sandbox Code Playgroud)
正确的做法是什么?
在 Sequelize 我使用 findByPk 但我还需要通过另一个条件
const options = {
where: { role: 'admin' },
};
return models.User.findByPk(id, options)
.then((user) => {...
Run Code Online (Sandbox Code Playgroud)
但即使角色不是管理员,此查询也会重新调整所有用户。我检查了生成的 SQL,我看到 SELECT * from User WHERE id = 1 但我没有看到 AND 角色 = 'admin'。如何使用 findByPk 并传递另一个条件?
谢谢你
用户表
- id
- name (string)
Run Code Online (Sandbox Code Playgroud)
访问表
- id
- user_id
- viewer_id
Run Code Online (Sandbox Code Playgroud)
我想获取具有给定用户的链接用户名的访问列表(在这种情况下,id = 1)
$visits = \Visits::where(['user_id' => 1])->with('user')->get();
Run Code Online (Sandbox Code Playgroud)
这是我的造访模式:
class Visits extends Model
{
protected $table = 'visits';
public function store(Request $request)
{
$visits = new Visits;
$visits->save();
}
public function user()
{
return $this->belongsTo('User', 'viewer_id');
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的用户模型
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
public function store(Request $request)
{
$user = new User;
$user->save();
}
}
Run Code Online (Sandbox Code Playgroud)
它返回数据,但“用户”为空
我有一个网站,为我的客户提供子域名(通配符子域名)
client1.test.com
client2.test.com
Run Code Online (Sandbox Code Playgroud)
我希望我的客户使用自己的域名如果他们想要的话.
什么样的记录需要添加点
client1.com => client1.test.com
shop.client1.com => client1.test.com
Run Code Online (Sandbox Code Playgroud)
我正在为www.test.com使用cloudflare的免费计划,但如果无法完成,我可以改变它
我知道为什么会发生这种情况,但想知道避免这种情况的正确方法是什么。\nuseEffect 被调用两次。一个是 data = null,然后是“真实”数据。
\n\nconst [data, setData] = useState(null);\nsomeServiceToFetchData.then(freshData => setData(freshData))\n\nuseEffect(() => {\n console.log("useEffect called");\n}, [data]);\nRun Code Online (Sandbox Code Playgroud)\n\n我应该到处做这样的事情吗?
\n\nuseEffect(() => {\n if (data) {\n console.log("useEffect called with real data");\n }\n}, [data]);\nRun Code Online (Sandbox Code Playgroud)\n 我有一个快速应用程序,从外部API获取其数据
api.com/companies (GET, POST)
api.com/companies/id (GET, PUT)
Run Code Online (Sandbox Code Playgroud)
我想创建一个模型来使代码更容易维护,因为你可以看到我在这里重复了很多代码.
router.get('/companies', function(req, res, next) {
http.get({
host: 'http://api.com',
path: '/companies'
}, function(response) {
var body = '';
response.on('data', function(d) {
body += d;
});
});
res.render('companies', {data: body});
});
router.get('/companies/:id', function(req, res, next) {
http.get({
host: 'http://api.com',
path: '/companies/' + req.params.id
}, function(response) {
var body = '';
response.on('data', function(d) {
body += d;
});
});
res.render('company', {data: body});
});
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我有一个反应应用程序,我运行npm run build来生成我上传到S3的构建包.让我们说www.test.com/build/
但是我有一个PHP后端应该负责提供index.html(来自www.test.com/index.html)
由于没有与S3存储桶和PHP应用程序的连接,我不知道如何处理反应应用程序中的哈希名称
没有哈希值,我无法生成构建包,因为我将丢失缓存破坏程序.
什么是与反应应用程序和后端应用程序一起使用的良好实践.在这种情况下是PHP但我认为问题应该与托管在不同服务器中的NodeJS后端相同.
我正在使用AWS CodePipeline来构建react应用程序(npm run build)和php app(composer install)
我创建了一个渲染图像的组件
\n这是组件。
\nimport React, { lazy, Suspense } from "react";\n\nconst Icon = (props) => {\n const { src } = props;\n\n return (\n <img src={src} />\n );\n};\n\nexport default Icon;\nRun Code Online (Sandbox Code Playgroud)\n然后我像这样使用它
\nimport ExampleIcon from "./../images/icons/example.png";\n...\n<Icon src={ExampleIcon} />\nRun Code Online (Sandbox Code Playgroud)\n有没有更有效的方法来加载图标?\n\n然后只需“加载”example.png 并将其用作源?尝试将其更改为:
\nconst Icon = (props) => {\n const src = lazy(() => import("./../images/icons/" + props.src + ".png"));\n return (\n <Suspense fallback={<p>loading...</p>}><img src={src} /></Suspense>\n );\n};\nRun Code Online (Sandbox Code Playgroud)\n看起来 \xc2\xb4 不是这样工作的。还有其他想法吗?谢谢!
\n你好,我想让我的两列具有相同的高度(最小高度为 100vh)
<div class="wrapper">
<div class="col">... little content... </div>
<div class="col">...more content... </div>
</div>
Run Code Online (Sandbox Code Playgroud)
我的CSS是
.wrapper {
display: flex;
height: 100vh;
}
.col {
outline: 1px #000 solid;
}
Run Code Online (Sandbox Code Playgroud)
这工作正常,但如果第二个(或第一个)列高度大于 100vh,则另一列将更短,并且不会扩展到与较大列相同的高度。
React 没有检测到 url 中的最后一个参数何时发生变化。如果我重新加载页面,它就可以工作。
我正在使用“react-router-dom”:“^5.0.1”
“路由器”
<Router>
<PrivateRoute path="/users/:id" exact strict component={User}/>
</Router>
Run Code Online (Sandbox Code Playgroud)
然后。在User组件中,我有一个用户列表和所选用户的详细信息
class User extends Component {
constructor(props) {
super(props);
this.state = {
userId: null,
users: [{id: '1', name: 'john'}, {id: '2', name: 'mary'}]
}
}
componentDidMount() {
const { id } = this.props.match.params;
this.setState({'userId': id})
}
render() {
return (
<div>
<div className="users">
{this.state.users.map((user, index) => {
return (<Link to={`users/${user.id}`} key={index}>{user.name}</Link>)
})}
</div>
<pre className="details">{this.state.userId}</pre>
</div>
)
}
}
export default User;
Run Code Online (Sandbox Code Playgroud)
当我选择不同的用户时,网址会发生变化,但this.state.userid …
reactjs ×5
javascript ×3
php ×2
amazon-s3 ×1
cloudflare ×1
css ×1
dns ×1
eloquent ×1
express ×1
flexbox ×1
models ×1
node.js ×1
react-hooks ×1
react-router ×1
sequelize.js ×1