in my code, when i pass one param it can success.
but when i pass Multiple Arguments , it Infinite loop.


SWR shallowly compares the arguments on every render, and triggers the validation if any of them has changed.
Like I said here https://github.com/zeit/swr/issues/112#issuecomment-552809810, don't pass { schoolCode } as an argument because {} !== {}. It works exactly like React Hook dependencies.
You can do either:
useSWR(['...', useMemo(() => ({ schoolCode }), [schoolCode])], fetcher)
or
useSWR(['...', schoolCode], (method, schoolCode) => fetcher(method, { schoolCode }))
maybe It's better to write it in a document

thanks ~
Most helpful comment
maybe It's better to write it in a document

thanks ~